ctucx.git: nixfiles

ctucx' nixfiles

commit 6e91fcb00aee6296395fdb92e3596fa12fd987b9
parent a9d57a2fd39627774911deb7a178b3480a799aa7
Author: Katja (ctucx) <git@ctu.cx>
Date: Fri, 7 Mar 2025 12:39:39 +0100

machines/{hector,trabbi,wanderduene}: use systemd-networkd
3 files changed, 72 insertions(+), 93 deletions(-)
M
machines/hector/default.nix
|
56
+++++++++++++++++++++++---------------------------------
M
machines/trabbi/default.nix
|
45
++++++++++++++++++++++-----------------------
M
machines/wanderduene/default.nix
|
64
+++++++++++++++++++++++++++-------------------------------------
diff --git a/machines/hector/default.nix b/machines/hector/default.nix
@@ -69,42 +69,32 @@
     };
 
     networking = {
-      primaryIP    = "2a03:4000:34:23e::1";
-      primaryIP4   = "194.59.205.194";
+      useNetworkd     = true;
+      useDHCP         = false;
 
-      useNetworkd  = true;
-      useDHCP      = false;
-
-      firewall.enable = true;
       nftables.enable = true;
-    };
+      firewall.enable = true;
 
-    systemd.network = {
-      enable             = true;
-      wait-online.enable = false;
-
-      networks = {
-        "10-ens3" = {
-          matchConfig.Name = "ens3";
-
-          address = [ "${config.networking.primaryIP4}/22" "${config.networking.primaryIP}/64" ];
-
-          networkConfig = {
-            DNS = [ "8.8.8.8" "1.1.1.1" ];
-          };
-
-          routes = [
-            {
-              Gateway       = "fe80::1";
-              GatewayOnLink = true;
-            }
-            {
-              Gateway       = "194.59.204.1";
-              GatewayOnLink = true;
-            }
-          ];
-        };
-      };
+      primaryIP   = "2a03:4000:34:23e::1";
+      primaryIP4  = "194.59.205.194";
+
+      nameservers = [ "8.8.8.8" "1.1.1.1" ];
+
+      defaultGateway.interface  = "ens3";
+      defaultGateway.address    = "194.59.204.1";
+
+      defaultGateway6.interface = "ens3";
+      defaultGateway6.address   = "fe80::1";
+
+      interfaces.ens3.ipv4.addresses = [{
+        address      = config.networking.primaryIP4;
+        prefixLength = 22;
+      }];
+
+      interfaces.ens3.ipv6.addresses = [{
+        address      = config.networking.primaryIP;
+        prefixLength = 64;
+      }];
     };
 
     services.syncthing.dataDir   = "/home/katja/syncthing";
diff --git a/machines/trabbi/default.nix b/machines/trabbi/default.nix
@@ -38,33 +38,32 @@
     };
 
     networking = {
-      primaryIP    = "2a03:4000:50:e8::1";
-      primaryIP4   = "94.16.104.148";
+      useNetworkd     = true;
+      useDHCP         = false;
 
-      resolvconf.enable = false;
-      nameservers       = [ "8.8.8.8" "1.1.1.1" ];
+      nftables.enable = true;
+      firewall.enable = true;
 
-      defaultGateway  = {
-        interface = "ens3";
-        address    = "94.16.104.1";
-      };
-      defaultGateway6 = {
-        interface = "ens3";
-        address   = "fe80::1";
-      };
+      primaryIP   = "2a03:4000:50:e8::1";
+      primaryIP4  = "94.16.104.148";
 
-      interfaces.ens3 = {
-        ipv4.addresses = [{
-          address = config.networking.primaryIP4;
-          prefixLength = 22;
-        }];
-        ipv6.addresses = [{
-          address      = config.networking.primaryIP;
-          prefixLength = 64;
-        }];
-      };
+      nameservers = [ "8.8.8.8" "1.1.1.1" ];
 
-      nftables.enable = true;
+      defaultGateway.interface  = "ens3";
+      defaultGateway.address    = "94.16.104.1";
+
+      defaultGateway6.interface = "ens3";
+      defaultGateway6.address   = "fe80::1";
+
+      interfaces.ens3.ipv4.addresses = [{
+        address      = config.networking.primaryIP4;
+        prefixLength = 22;
+      }];
+
+      interfaces.ens3.ipv6.addresses = [{
+        address      = config.networking.primaryIP;
+        prefixLength = 64;
+      }];
     };
 
     services.email-notify.enable = true;
diff --git a/machines/wanderduene/default.nix b/machines/wanderduene/default.nix
@@ -50,22 +50,36 @@
     };
 
     networking = {
-      primaryIP    = "2a03:4000:4d:5e::1";
-      primaryIP4   = "194.36.145.49";
-
-      useNetworkd  = true;
-      useDHCP      = false;
+      useNetworkd     = true;
+      useDHCP         = false;
 
       nftables.enable = true;
+      firewall.enable = true;
+      firewall.allowedUDPPorts = [ 51820 ];
 
-      firewall = {
-        enable          = true;
-        allowedUDPPorts = [ 51820 ];
-      };
+      primaryIP   = "2a03:4000:4d:5e::1";
+      primaryIP4  = "194.36.145.49";
+
+      nameservers = [ "8.8.8.8" "1.1.1.1" ];
+
+      defaultGateway.interface  = "ens3";
+      defaultGateway.address    = "194.36.144.1";
+
+      defaultGateway6.interface = "ens3";
+      defaultGateway6.address   = "fe80::1";
+
+      interfaces.ens3.ipv4.addresses = [{
+        address      = config.networking.primaryIP4;
+        prefixLength = 22;
+      }];
+
+      interfaces.ens3.ipv6.addresses = [{
+        address      = config.networking.primaryIP;
+        prefixLength = 64;
+      }];
     };
 
     systemd.network = {
-      enable             = true;
       wait-online.enable = false;
       
       config.networkConfig = {

@@ -91,34 +105,10 @@
         }];
       };
 
+      networks."20-wg0" ={
+        matchConfig.Name = "wg0";
 
-      networks = {
-        "10-ens3" = {
-          matchConfig.Name = "ens3";
-
-          address = [ "${config.networking.primaryIP4}/24" "${config.networking.primaryIP}/64" ];
-
-          networkConfig = {
-            DNS = [ "8.8.8.8" "1.1.1.1" ];
-          };
-
-          routes = [
-            {
-              Gateway       = "fe80::1";
-              GatewayOnLink = true;
-            }
-            {
-              Gateway       = "194.36.144.1";
-              GatewayOnLink = true;
-            }
-          ];
-        };
-
-        "20-wg0" ={
-          matchConfig.Name = "wg0";
-
-          address = [ "2a03:4000:4d:5e:acab::100/112"];
-        };
+        address = [ "2a03:4000:4d:5e:acab::100/112"];
       };
     };