diff --git a/modules/default.nix b/modules/default.nix index dde28965..a13cadb9 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,6 +3,7 @@ ./build-tarball.nix ./docker-desktop.nix ./interop.nix + ./nvidia-container-toolkit.nix ./recovery.nix ./systemd ./usbip.nix diff --git a/modules/nvidia-container-toolkit.nix b/modules/nvidia-container-toolkit.nix new file mode 100644 index 00000000..d19fa355 --- /dev/null +++ b/modules/nvidia-container-toolkit.nix @@ -0,0 +1,21 @@ +{ config, lib, ... }: +with builtins; with lib; { + + config = + mkIf (config.wsl.enable && + (config.wsl.docker-desktop.enable || + config.virtualisation.podman.enable || + (config.virtualisation.docker.enable && + (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 = mkIf config.hardware.nvidia-container-toolkit.enable true; + + }; + +}