nvidia-container-toolkit: add suppressNvidiaDriverAssertion option

This commit is contained in:
Yang, Bo 2025-04-15 23:19:46 +02:00 committed by Rafael Fernández López
parent f2b91eed24
commit dd30fd1285

View File

@ -50,6 +50,15 @@
''; '';
}; };
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 { mounts = lib.mkOption {
type = lib.types.listOf (lib.types.submodule mountType); type = lib.types.listOf (lib.types.submodule mountType);
default = [ ]; default = [ ];
@ -98,8 +107,10 @@
assertions = [ assertions = [
{ {
assertion = assertion =
config.hardware.nvidia.datacenter.enable || lib.elem "nvidia" config.services.xserver.videoDrivers; config.hardware.nvidia.datacenter.enable
message = ''`nvidia-container-toolkit` requires nvidia datacenter or desktop drivers: set `hardware.nvidia.datacenter.enable` or add "nvidia" to `services.xserver.videoDrivers`''; || 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)'';
} }
]; ];