diff --git a/modules/default.nix b/modules/default.nix index dde28965..18521b17 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,6 +3,7 @@ ./build-tarball.nix ./docker-desktop.nix ./interop.nix + ./nvidia.nix ./recovery.nix ./systemd ./usbip.nix diff --git a/modules/nvidia.nix b/modules/nvidia.nix new file mode 100644 index 00000000..41900810 --- /dev/null +++ b/modules/nvidia.nix @@ -0,0 +1,24 @@ +{ config, lib, ... }: +{ + + config = + lib.mkIf + ( + config.wsl.enable && + (config.wsl.docker-desktop.enable || + config.virtualisation.podman.enable || + (config.virtualisation.docker.enable && + (lib.versionAtLeast config.virtualisation.docker.package.version "25"))) + ) + { + + # Related issues: + # - https://github.com/nix-community/NixOS-WSL/issues/433 + # - https://github.com/NVIDIA/nvidia-container-toolkit/issues/452 + # + # By setting `useWindowsDriver` to true, the Nvidia libraries are properly + # mounted on the container from the host. + wsl.useWindowsDriver = lib.mkIf config.hardware.nvidia-container-toolkit.enable true; + + }; +}