diff --git a/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix b/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix index 13595c320833..69b1c52a533e 100644 --- a/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix +++ b/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix @@ -10,18 +10,9 @@ nvidia-driver, runtimeShell, writeScriptBin, + extraArgs, }: let - mkMount = - { - hostPath, - containerPath, - mountOptions, - }: - { - inherit hostPath containerPath; - options = mountOptions; - }; mountToCommand = mount: "additionalMount \"${mount.hostPath}\" \"${mount.containerPath}\" '${builtins.toJSON mount.mountOptions}'"; @@ -48,7 +39,8 @@ writeScriptBin "nvidia-cdi-generator" '' --device-name-strategy ${device-name-strategy} \ --ldconfig-path ${lib.getExe' glibc "ldconfig"} \ --library-search-path ${lib.getLib nvidia-driver}/lib \ - --nvidia-cdi-hook-path ${lib.getExe' nvidia-container-toolkit.tools "nvidia-cdi-hook"} + --nvidia-cdi-hook-path ${lib.getExe' nvidia-container-toolkit.tools "nvidia-cdi-hook"} \ + ${lib.escapeShellArgs extraArgs} } function additionalMount { diff --git a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix index d9596f754c6b..3e1648017a7c 100644 --- a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix +++ b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix @@ -120,6 +120,14 @@ }; package = lib.mkPackageOption pkgs "nvidia-container-toolkit" { }; + + extraArgs = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + Extra arguments to be passed to nvidia-ctk. + ''; + }; }; }; @@ -241,6 +249,7 @@ device-name-strategy discovery-mode mounts + extraArgs ; nvidia-container-toolkit = config.hardware.nvidia-container-toolkit.package; nvidia-driver = config.hardware.nvidia.package;