From 204710470460b5b1260f0b3b64a42a7612e55137 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Mon, 1 Apr 2024 00:45:40 +0800 Subject: [PATCH] fix: use networkd for all kubevirt guest --- lib/genKubeVirtGuestModule.nix | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/genKubeVirtGuestModule.nix b/lib/genKubeVirtGuestModule.nix index fd607922..24b73b5d 100644 --- a/lib/genKubeVirtGuestModule.nix +++ b/lib/genKubeVirtGuestModule.nix @@ -4,7 +4,9 @@ networking, ... }: let - inherit (networking.hostsAddr.${hostName}) iface; + inherit (networking) mainGateway nameservers; + inherit (networking.hostsAddr.${hostName}) iface ipv4; + ipv4WithMask = "${ipv4}/24"; in { # supported file systems, so we can mount any removable disks with these filesystems boot.supportedFilesystems = [ @@ -16,11 +18,20 @@ in { "exfat" ]; - networking = { - inherit hostName; - inherit (networking) defaultGateway nameservers; - inherit (networking.hostsInterface.${hostName}) interfaces; - networkmanager.enable = false; + networking = {inherit hostName;}; + networking.useNetworkd = true; + systemd.network.enable = true; + + # Add ipv4 address to the bridge. + systemd.network.networks."10-${iface}" = { + matchConfig.Name = [iface]; + networkConfig = { + Address = [ipv4WithMask]; + Gateway = mainGateway; + DNS = nameservers; + IPv6AcceptRA = true; + }; + linkConfig.RequiredForOnline = "routable"; }; # This value determines the NixOS release from which the default