diff options
Diffstat (limited to 'modules/by-name/ne/networking/module.nix')
-rw-r--r-- | modules/by-name/ne/networking/module.nix | 107 |
1 files changed, 59 insertions, 48 deletions
diff --git a/modules/by-name/ne/networking/module.nix b/modules/by-name/ne/networking/module.nix index c5f0e491..8448e9b3 100644 --- a/modules/by-name/ne/networking/module.nix +++ b/modules/by-name/ne/networking/module.nix @@ -29,60 +29,71 @@ in { }; }; - config = { - networking.hostName = cfg.hostName; - - systemd.network = lib.mkIf (cfg.mode == "systemd-networkd") { - networks = { - "tap0" = { - name = "tap0"; - bridge = [ - "virbr0" - ]; - }; - "enp4s0" = { - name = "enp4s0"; - networkConfig = { - DHCP = "yes"; - DNSOverTLS = "yes"; - DNSSEC = "yes"; + config = + lib.mkIf cfg.enable + (lib.modules.mkMerge [ + { + networking.hostName = cfg.hostName; + } + (lib.mkIf (cfg.mode == "systemd-networkd") { + systemd.network = { + networks = { + "tap0" = { + name = "tap0"; + bridge = [ + "virbr0" + ]; + }; + "enp4s0" = { + name = "enp4s0"; + networkConfig = { + DHCP = "yes"; + DNSOverTLS = "yes"; + DNSSEC = "yes"; + }; + bridge = [ + "virbr0" + ]; + }; }; - bridge = [ - "virbr0" - ]; - }; - }; - netdevs = { - "tap0" = { - netdevConfig = { - Name = "tap0"; - Kind = "tap"; - }; - tapConfig = { - User = config.users.users."${cfg.userName}".uid; - Group = "libvirtd"; + netdevs = { + "tap0" = { + netdevConfig = { + Name = "tap0"; + Kind = "tap"; + }; + tapConfig = { + User = config.users.users."${cfg.userName}".uid; + Group = "libvirtd"; + }; + }; + "virbr0" = { + netdevConfig = { + Name = "br0"; + Kind = "bridge"; + }; + }; }; }; - "virbr0" = { - netdevConfig = { - Name = "br0"; - Kind = "bridge"; + }) + + (lib.mkIf (cfg.mode == "NetworkManager") { + networking.networkmanager = { + enable = true; + dns = "default"; + wifi = { + powersave = true; }; }; - }; - }; - networking.networkmanager = lib.mkIf (cfg.mode == "NetworkManager") { - enable = true; - dns = "default"; - wifi = { - powersave = true; - }; - }; + soispha.impermanence.directories = [ + "/etc/NetworkManager" + ]; - users.users."${cfg.userName}".extraGroups = lib.mkIf (cfg.mode == "NetworkManager") [ - "networkmanager" # allows to configure NetworkManager as this user - ]; - }; + users.users."${cfg.userName}".extraGroups = [ + "networkmanager" # allows to configure NetworkManager as this user + ]; + }) + ]); } |