From ca2aa77d7bd8695d3bd3b763d354b5c1ca5dcc36 Mon Sep 17 00:00:00 2001 From: Phillip Cloud Date: Sat, 9 Jan 2021 09:50:59 -0500 Subject: [PATCH] nixpkgs: use symlinkJoin to share container runtime config for runtimes that support nvidia GPUs --- pkgs/top-level/all-packages.nix | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42b6c9d6026..d90cabd1f03 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15415,7 +15415,32 @@ in nv-codec-headers = callPackage ../development/libraries/nv-codec-headers { }; - nvidia-docker = callPackage ../applications/virtualization/nvidia-docker { }; + mkNvidiaContainerPkg = { name, containerRuntimePath, configTemplate, additionalPaths ? [] }: + symlinkJoin { + name = "nvidia-containers-${name}"; + paths = [ + (callPackage ../applications/virtualization/libnvidia-container { }) + (callPackage ../applications/virtualization/nvidia-container-runtime { + inherit containerRuntimePath configTemplate; + }) + (callPackage ../applications/virtualization/nvidia-container-toolkit { + inherit containerRuntimePath configTemplate; + }) + ] ++ additionalPaths; + }; + + nvidia-docker = mkNvidiaContainerPkg { + name = "docker"; + containerRuntimePath = "${docker}/libexec/docker/runc"; + configTemplate = ../applications/virtualization/nvidia-docker/config.toml; + additionalPaths = [ (callPackage ../applications/virtualization/nvidia-docker { }) ]; + }; + + nvidia-podman = mkNvidiaContainerPkg { + name = "podman"; + containerRuntimePath = "${runc}/bin/runc"; + configTemplate = ../applications/virtualization/nvidia-podman/config.toml; + }; nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { };