diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-10-24 14:44:27 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-10-24 14:44:27 +0200 |
commit | f2ed99cd297040568170fb93e7481919060f29e7 (patch) | |
tree | a983e405f4a347519c7e31d6f5b17940d163489c /modules/by-name/ne | |
parent | feat(modules/nix): Switch to `lix` (diff) | |
download | nixos-config-f2ed99cd297040568170fb93e7481919060f29e7.tar.gz nixos-config-f2ed99cd297040568170fb93e7481919060f29e7.zip |
refactor(modules/impermanence): Move all optional dirs to their modules
This increases the locality of configurations and makes it easier to see, what happens, when you enable a module.
Diffstat (limited to '')
-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 + ]; + }) + ]); } |