aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/ne/networking
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-10-24 14:44:27 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-10-24 14:44:27 +0200
commitf2ed99cd297040568170fb93e7481919060f29e7 (patch)
treea983e405f4a347519c7e31d6f5b17940d163489c /modules/by-name/ne/networking
parentfeat(modules/nix): Switch to `lix` (diff)
downloadnixos-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 'modules/by-name/ne/networking')
-rw-r--r--modules/by-name/ne/networking/module.nix107
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
+ ];
+ })
+ ]);
}