nixos/incus: condition nvidia support, ensuring nvidia_uvm module is enabled

This commit is contained in:
Adam C. Stephens 2025-01-31 15:46:38 -05:00
parent 5ce59fed9d
commit 0619ac75c2
No known key found for this signature in database

View File

@ -9,6 +9,8 @@ let
cfg = config.virtualisation.incus; cfg = config.virtualisation.incus;
preseedFormat = pkgs.formats.yaml { }; preseedFormat = pkgs.formats.yaml { };
nvidiaEnabled = (lib.elem "nvidia" config.services.xserver.videoDrivers);
serverBinPath = ''/run/wrappers/bin:${pkgs.qemu_kvm}/libexec:${ serverBinPath = ''/run/wrappers/bin:${pkgs.qemu_kvm}/libexec:${
lib.makeBinPath ( lib.makeBinPath (
with pkgs; with pkgs;
@ -26,6 +28,7 @@ let
e2fsprogs e2fsprogs
findutils findutils
getent getent
gawk
gnugrep gnugrep
gnused gnused
gnutar gnutar
@ -35,7 +38,6 @@ let
iptables iptables
iw iw
kmod kmod
libnvidia-container
libxfs libxfs
lvm2 lvm2
lxcfs lxcfs
@ -73,6 +75,9 @@ let
config.boot.zfs.package config.boot.zfs.package
"${config.boot.zfs.package}/lib/udev" "${config.boot.zfs.package}/lib/udev"
] ]
++ lib.optionals nvidiaEnabled [
libnvidia-container
]
) )
}''; }'';
@ -309,7 +314,7 @@ in
"xt_CHECKSUM" "xt_CHECKSUM"
"xt_MASQUERADE" "xt_MASQUERADE"
"vhost_vsock" "vhost_vsock"
] ++ lib.optionals (!config.networking.nftables.enable) [ "iptable_mangle" ]; ] ++ lib.optionals nvidiaEnabled [ "nvidia_uvm" ];
environment.systemPackages = [ environment.systemPackages = [
cfg.clientPackage cfg.clientPackage