nixos/incus: fix some nvidia container errors (#378352)

This commit is contained in:
Adam C. Stephens 2025-02-02 14:31:29 -05:00 committed by GitHub
commit 7a982a65fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 3 deletions

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

View File

@ -2,6 +2,8 @@
lib, lib,
stdenv, stdenv,
fetchFromGitHub, fetchFromGitHub,
bashInteractive,
dbus, dbus,
docbook2x, docbook2x,
libapparmor, libapparmor,
@ -14,6 +16,7 @@
openssl, openssl,
pkg-config, pkg-config,
systemd, systemd,
nix-update-script, nix-update-script,
}: }:
@ -36,6 +39,8 @@ stdenv.mkDerivation (finalAttrs: {
]; ];
buildInputs = [ buildInputs = [
# some hooks use compgen
bashInteractive
dbus dbus
libapparmor libapparmor
libcap libcap
@ -93,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
updateScript = nix-update-script { updateScript = nix-update-script {
extraArgs = [ extraArgs = [
"--version-regex" "--version-regex"
"v(6.0.*)" "v(6\\.0\\.*)"
]; ];
}; };
}; };