From dd30fd1285b12ff942cc98d8a486eeac7b64f1f2 Mon Sep 17 00:00:00 2001 From: "Yang, Bo" Date: Tue, 15 Apr 2025 23:19:46 +0200 Subject: [PATCH] nvidia-container-toolkit: add suppressNvidiaDriverAssertion option --- .../hardware/nvidia-container-toolkit/default.nix | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix index 8b5c5c95b12e..af94fbe6a45b 100644 --- a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix +++ b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix @@ -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 { type = lib.types.listOf (lib.types.submodule mountType); default = [ ]; @@ -98,8 +107,10 @@ 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`''; + 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)''; } ];