networking lambdas to enable wakeonlan and hosts file

This commit is contained in:
Danilo Reyes 2025-02-05 15:36:04 -06:00
parent 8a46014a08
commit 47f4b2a536
4 changed files with 13 additions and 7 deletions

View File

@ -49,6 +49,15 @@ in
};
description = "Set of IP's for all my computers.";
};
interfaces = lib.mkOption {
type = lib.types.attrsOf lib.types.str;
default = {
server = "enp0s31f6";
miniserver = "enp2s0";
workstation = "enp5s0";
};
description = "Set of network interface names for all my computers.";
};
mainServer = lib.mkOption {
type = lib.types.str;
default = "miniserver";

View File

@ -154,7 +154,7 @@ in
log_type = "file";
loglevel = 1;
trusted_domains = [
config.my.ips.miniserver
config.my.ips.${config.networking.hostName}
"localhost"
"cloud.rotehaare.art"
"cloud.servidos.lat"

View File

@ -10,11 +10,8 @@
enable = true;
dns = "none";
};
hosts = {
"192.168.1.64" = [ "workstation" ];
"192.168.1.69" = [ "server" ];
"192.168.1.100" = [ "miniserver" ];
};
hosts = config.my.ips |> lib.mapAttrs' (hostname: ip: lib.nameValuePair ip [ hostname ]);
interfaces."${config.my.interfaces.${config.networking.hostName}}".wakeOnLan.enable = true;
};
services.dnscrypt-proxy2 = {
enable = true;

View File

@ -15,7 +15,7 @@ in
firewall.allowedUDPPorts = [ port ];
nat = {
enable = true;
externalInterface = "enp2s0";
externalInterface = config.my.interfaces.${config.hostName};
internalInterfaces = [ "wg0" ];
};
wireguard.interfaces.wg0 = {