From 8454428f89ad0b1cf5c9a9e36bf627cb3e64c1dc Mon Sep 17 00:00:00 2001 From: Petru Paler Date: Thu, 20 Mar 2025 06:32:44 +0000 Subject: [PATCH] Switch to systemd-networkd for chilly. It should hopefully fix the issue where network doesn't come back after a system config switch. --- hosts/chilly/default.nix | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/hosts/chilly/default.nix b/hosts/chilly/default.nix index cf8f43b..1db1e26 100644 --- a/hosts/chilly/default.nix +++ b/hosts/chilly/default.nix @@ -40,19 +40,31 @@ users.users.ppetru.extraGroups = [ "libvirtd" ]; - networking = { - # TODO: try using DHCP for br0. will probably need a hardcoded MAC - defaultGateway = "192.168.1.1"; - nameservers = [ "192.168.1.1" ]; - bridges.br0.interfaces = [ "enp1s0" ]; - interfaces.br0 = { - useDHCP = false; - ipv4.addresses = [ - { - "address" = "192.168.1.5"; - "prefixLength" = 24; - } - ]; - }; + networking.useNetworkd = true; + systemd.network.enable = true; + + systemd.network.netdevs."10-br0" = { + netdevConfig = { + Name = "br0"; + Kind = "bridge"; + # when switching to DHCP, fill this in with value from enp1s0 or something made up starting with 02: + # MACAddress = ""; + }; + }; + + systemd.network.networks."20-enp1s0" = { + matchConfig.Name = "enp1s0"; + networkConfig.Bridge = "br0"; + }; + + systemd.network.networks."30-br0" = { + matchConfig.Name = "br0"; + networkConfig = { + # TODO: use DHCP. Would need a hardcoded MAC (see above) + Address = [ "192.168.1.5/24" ]; + Gateway = [ "192.168.1.1" ]; + DNS = [ "192.168.1.1" ]; + # DHCP = "yes"; + }; }; }