From ed92e36456155d0bcf8eff019ffe8352b2510f7b Mon Sep 17 00:00:00 2001 From: Git Sagar Date: Mon, 8 Jun 2026 14:04:08 +0530 Subject: [PATCH] add nicModel option, restore MAS activation with LTSC key fix - Add nicModel option (default: virtio-net-pci) to allow e1000 for images without VirtIO drivers - Restore MAS activation with slmgr /ipk to switch back from IoT Enterprise S to Enterprise LTSC (which has native RDP server) Co-Authored-By: Claude Opus 4.6 (1M context) --- nixos/vms/config.nix | 6 +++--- nixos/vms/submoduleOptions.nix | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/nixos/vms/config.nix b/nixos/vms/config.nix index d851fa2..42b0868 100644 --- a/nixos/vms/config.nix +++ b/nixos/vms/config.nix @@ -208,14 +208,14 @@ let '') vmCfg.shares)} \ ${optionalString cfg.networks.user.enable " -netdev user,id=user \ - -device virtio-net-pci,netdev=user \ + -device ${vmCfg.nicModel},netdev=user \ "} \ ${concatMapStrings (tapCfg: '' - -device virtio-net-pci,netdev=lan-${tapCfg.name},mac=${tapCfg.mac} \ + -device ${vmCfg.nicModel},netdev=lan-${tapCfg.name},mac=${tapCfg.mac} \ -netdev tap,id=lan-${tapCfg.name},ifname=${tapCfg.iface},script=no,downscript=no \ '') allTaps} \ ${concatStrings (imap1 (i: macvtap: '' - -device virtio-net-pci,netdev=macvtap-${macvtap.name},mac=$(ip l show ${macvtap.iface} | awk '/link\/ether/{print $2}') \ + -device ${vmCfg.nicModel},netdev=macvtap-${macvtap.name},mac=$(ip l show ${macvtap.iface} | awk '/link\/ether/{print $2}') \ -netdev tap,id=macvtap-${macvtap.name},fd=${toString (i+2)} ${toString (i+2)}<>/dev/tap$(ip l show ${macvtap.iface} | awk -F':' '/${macvtap.iface}/{print $1}') \ '') allMacvtaps)} \ ${concatStrings (imap1 (i: pciAddr: '' diff --git a/nixos/vms/submoduleOptions.nix b/nixos/vms/submoduleOptions.nix index e871ca1..0158c2b 100644 --- a/nixos/vms/submoduleOptions.nix +++ b/nixos/vms/submoduleOptions.nix @@ -235,6 +235,12 @@ with lib; description = "Enable boot menu."; }; + nicModel = mkOption { + type = types.str; + default = "virtio-net-pci"; + description = "QEMU NIC device model (e.g. virtio-net-pci, e1000)."; + }; + windows = { enable = mkOption { type = types.bool;