nvidia-container-toolkit: add suppressNvidiaDriverAssertion option

Yang, Bo dd30fd12 f2b91eed

Changed files
+13 -2
nixos
modules
services
hardware
nvidia-container-toolkit
+13 -2
nixos/modules/services/hardware/nvidia-container-toolkit/default.nix
···
'';
};
mounts = lib.mkOption {
type = lib.types.listOf (lib.types.submodule mountType);
default = [ ];
···
assertions = [
{
assertion =
-
config.hardware.nvidia.datacenter.enable || lib.elem "nvidia" config.services.xserver.videoDrivers;
-
message = ''`nvidia-container-toolkit` requires nvidia datacenter or desktop drivers: set `hardware.nvidia.datacenter.enable` or add "nvidia" to `services.xserver.videoDrivers`'';
}
];
···
'';
};
+
suppressNvidiaDriverAssertion = lib.mkOption {
+
default = false;
+
type = lib.types.bool;
+
description = ''
+
Suppress the assertion for installing Nvidia driver.
+
Useful in WSL where drivers are mounted from Windows, not provided by NixOS.
+
'';
+
};
+
mounts = lib.mkOption {
type = lib.types.listOf (lib.types.submodule mountType);
default = [ ];
···
assertions = [
{
assertion =
+
config.hardware.nvidia.datacenter.enable
+
|| lib.elem "nvidia" config.services.xserver.videoDrivers
+
|| config.hardware.nvidia-container-toolkit.suppressNvidiaDriverAssertion;
+
message = ''`nvidia-container-toolkit` requires nvidia drivers: set `hardware.nvidia.datacenter.enable`, add "nvidia" to `services.xserver.videoDrivers`, or set `hardware.nvidia-container-toolkit.suppressNvidiaDriverAssertion` if the driver is provided by another NixOS module (e.g. from NixOS-WSL)'';
}
];