diff --git a/pkgs/tools/system/nvitop/default.nix b/pkgs/tools/system/nvitop/default.nix new file mode 100644 index 000000000000..70a0311c3e43 --- /dev/null +++ b/pkgs/tools/system/nvitop/default.nix @@ -0,0 +1,37 @@ +{ lib +, stdenv +, python3Packages +, fetchFromGitHub +, makeWrapper +}: + +python3Packages.buildPythonApplication rec { + pname = "nvitop"; + version = "0.10.0"; + + src = fetchFromGitHub { + owner = "XuehaiPan"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-nGdEMLxpw2Ts0dypkoZg3r2NF4IeT1ykbRmrmf9qxrA="; + }; + + propagatedBuildInputs = with python3Packages; [ + cachetools + psutil + termcolor + nvidia-ml-py + ]; + + checkPhase = '' + $out/bin/nvitop --help + ''; + + meta = with lib; { + description = "An interactive NVIDIA-GPU process viewer, the one-stop solution for GPU process management"; + homepage = "https://github.com/XuehaiPan/nvitop"; + license = licenses.gpl3; + maintainers = with maintainers; [ GaetanLepage ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6ab36fc6f57d..a003ffab1753 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21230,6 +21230,8 @@ with pkgs; nvidia-optical-flow-sdk = callPackage ../development/libraries/nvidia-optical-flow-sdk { }; + nvitop = callPackage ../tools/system/nvitop { }; + nvtop = callPackage ../tools/system/nvtop { }; nvtop-nvidia = callPackage ../tools/system/nvtop { amd = false; }; nvtop-amd = callPackage ../tools/system/nvtop { nvidia = false; };