diff --git a/modules/modules.nix b/modules/modules.nix index 7cd53e0..1fb16d2 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -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"; diff --git a/modules/servers/nextcloud.nix b/modules/servers/nextcloud.nix index 8e0ef04..61aa5e3 100644 --- a/modules/servers/nextcloud.nix +++ b/modules/servers/nextcloud.nix @@ -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" diff --git a/modules/services/network.nix b/modules/services/network.nix index 7eb4e7b..d7892e4 100644 --- a/modules/services/network.nix +++ b/modules/services/network.nix @@ -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; diff --git a/modules/services/wireguard.nix b/modules/services/wireguard.nix index 45327fe..6053c35 100644 --- a/modules/services/wireguard.nix +++ b/modules/services/wireguard.nix @@ -15,7 +15,7 @@ in firewall.allowedUDPPorts = [ port ]; nat = { enable = true; - externalInterface = "enp2s0"; + externalInterface = config.my.interfaces.${config.hostName}; internalInterfaces = [ "wg0" ]; }; wireguard.interfaces.wg0 = {