summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2024-02-08 17:20:04 +0100
committerMartin Weinelt <hexa@darmstadt.ccc.de>2024-02-08 17:57:46 +0100
commit73e19e1a8dba1f945a71608bb7e25d2e8eeb87b8 (patch)
treef226a4a8f384ab911ffbbb58f0fc972cfdc9f3a4
parentmaintainers: update email of RGBCube (diff)
downloadnixpkgs-73e19e1a8dba1f945a71608bb7e25d2e8eeb87b8.tar.gz
nixos/lxd: use networkd for DHCP/RA
Enables networkd instead of dhcpcd for DHCP/RA. It offers a solid base for network configuration, that is much more extensible than dhcpcd and also better maintained than our bespoke `networking.interfaces` modules. Closes: #287269
-rw-r--r--nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix18
-rw-r--r--nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix18
2 files changed, 32 insertions, 4 deletions
diff --git a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix
index c1c50b32ff5b..2d1761401fcd 100644
--- a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix
+++ b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix
@@ -13,8 +13,22 @@
./lxd.nix
];
- networking.useDHCP = false;
- networking.interfaces.eth0.useDHCP = true;
+ networking = {
+ dhcdpcd.enable = false;
+ useDHCP = false;
+ };
+
+ systemd.network = {
+ enable = true;
+ networks."50-eth0" = {
+ matchConfig.Name = "eth0";
+ networkConfig = {
+ DHCP = "ipv4";
+ IPv6AcceptRA = true;
+ };
+ linkConfig.RequiredForOnline = "routable";
+ };
+ };
system.stateVersion = "@stateVersion@"; # Did you read the comment?
}
diff --git a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix
index 0d96eea0e2d2..a58579914465 100644
--- a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix
+++ b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix
@@ -26,6 +26,20 @@
'';
# Network
- networking.useDHCP = false;
- networking.interfaces.enp5s0.useDHCP = true;
+ networking = {
+ dhcdpcd.enable = false;
+ useDHCP = false;
+ };
+
+ systemd.network = {
+ enable = true;
+ networks."50-enp5s0" = {
+ matchConfig.Name = "enp5s0";
+ networkConfig = {
+ DHCP = "ipv4";
+ IPv6AcceptRA = true;
+ };
+ linkConfig.RequiredForOnline = "routable";
+ };
+ };
}