diff --git a/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix b/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix new file mode 100644 index 00000000000..cb562993565 --- /dev/null +++ b/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix @@ -0,0 +1,41 @@ +{ lib +, fetchFromGitHub +, buildGoModule +, callPackage +, makeWrapper +, containerRuntimePath +, configTemplate +}: +let + nvidia-container-runtime = callPackage ../nvidia-container-runtime { + inherit containerRuntimePath configTemplate; + }; +in +buildGoModule rec { + pname = "nvidia-container-toolkit"; + version = "1.3.0"; + src = fetchFromGitHub { + owner = "NVIDIA"; + repo = pname; + rev = "v${version}"; + sha256 = "04284bhgx4j55vg9ifvbji2bvmfjfy3h1lq7q356ffgw3yr9n0hn"; + }; + vendorSha256 = "17zpiyvf22skfcisflsp6pn56y6a793jcx89kw976fq2x5br1bz7"; + buildFlagsArray = [ "-ldflags=" "-s -w" ]; + nativeBuildInputs = [ makeWrapper ]; + postInstall = '' + mv $out/bin/{pkg,${pname}} + ln -s $out/bin/nvidia-container-{toolkit,runtime-hook} + + wrapProgram $out/bin/nvidia-container-toolkit \ + --add-flags "-config ${nvidia-container-runtime}/etc/nvidia-container-runtime/config.toml" + ''; + + meta = with lib; { + homepage = "https://github.com/NVIDIA/nvidia-container-toolkit"; + description = "NVIDIA container runtime hook"; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ cpcloud ]; + }; +} diff --git a/pkgs/applications/virtualization/nvidia-docker/default.nix b/pkgs/applications/virtualization/nvidia-docker/default.nix index 2a4d8db7e4b..e0425ec32a2 100644 --- a/pkgs/applications/virtualization/nvidia-docker/default.nix +++ b/pkgs/applications/virtualization/nvidia-docker/default.nix @@ -12,23 +12,6 @@ }: with lib; let - nvidia-container-toolkit = buildGoModule rec { - pname = "nvidia-container-toolkit"; - version = "1.3.0"; - src = fetchFromGitHub { - owner = "NVIDIA"; - repo = "nvidia-container-toolkit"; - rev = "v${version}"; - sha256 = "04284bhgx4j55vg9ifvbji2bvmfjfy3h1lq7q356ffgw3yr9n0hn"; - }; - vendorSha256 = "17zpiyvf22skfcisflsp6pn56y6a793jcx89kw976fq2x5br1bz7"; - buildFlagsArray = [ "-ldflags=" "-s -w" ]; - postInstall = '' - mv $out/bin/{pkg,${pname}} - cp $out/bin/{${pname},nvidia-container-runtime-hook} - ''; - }; - in stdenv.mkDerivation rec { pname = "nvidia-docker"; @@ -46,8 +29,6 @@ stdenv.mkDerivation rec { cp nvidia-docker bin substituteInPlace bin/nvidia-docker --subst-var-by VERSION ${version} - - cp ${nvidia-container-toolkit}/bin/nvidia-container-{toolkit,runtime-hook} bin ''; installPhase = ''