1{ lib
2, fetchFromGitHub
3, buildGoModule
4, makeWrapper
5, nvidia-container-runtime
6}:
7buildGoModule rec {
8 pname = "nvidia-container-toolkit";
9 version = "1.5.0";
10
11 src = fetchFromGitHub {
12 owner = "NVIDIA";
13 repo = pname;
14 rev = "v${version}";
15 sha256 = "sha256-YvwqnwYOrlSE6PmNNZ5xjEaEcXdHKcakIwua+tOvIJ0=";
16 };
17
18 vendorSha256 = "17zpiyvf22skfcisflsp6pn56y6a793jcx89kw976fq2x5br1bz7";
19 ldflags = [ "-s" "-w" ];
20 nativeBuildInputs = [ makeWrapper ];
21
22 postInstall = ''
23 mv $out/bin/{pkg,${pname}}
24 ln -s $out/bin/nvidia-container-{toolkit,runtime-hook}
25
26 wrapProgram $out/bin/nvidia-container-toolkit \
27 --add-flags "-config ${nvidia-container-runtime}/etc/nvidia-container-runtime/config.toml"
28 '';
29
30 meta = with lib; {
31 homepage = "https://github.com/NVIDIA/nvidia-container-toolkit";
32 description = "NVIDIA container runtime hook";
33 license = licenses.asl20;
34 platforms = platforms.linux;
35 maintainers = with maintainers; [ cpcloud ];
36 };
37}