diff --git a/pkgs/tools/system/bpytop/default.nix b/pkgs/tools/system/bpytop/default.nix new file mode 100644 index 00000000000..015d9d3adac --- /dev/null +++ b/pkgs/tools/system/bpytop/default.nix @@ -0,0 +1,45 @@ +{ stdenv, python3Packages, fetchFromGitHub, makeWrapper, substituteAll }: + +stdenv.mkDerivation rec { + pname = "bpytop"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "aristocratos"; + repo = pname; + rev = "v${version}"; + sha256 = "0cxyrk5a9j0ymll9h5b6jq48yjy9srcxh4rmsqk8w0d14prmflgg"; + }; + + buildInputs = [ makeWrapper ]; + propagatedBuildInputs = with python3Packages; [ python psutil ]; + + dontBuild = true; + + postPatch = '' + sed -i -e "s#/usr/\[local/\]#$out/#g" \ + -e "s#/usr/{td}#$out/#g" \ + ./bpytop.py + ''; + + installPhase = '' + mkdir -p $out/{bin,libexec,share/bpytop}/ + cp -r ./themes $out/share/bpytop/ + cp ./bpytop.py $out/libexec/ + + makeWrapper ${python3Packages.python.interpreter} $out/bin/bpytop \ + --add-flags "$out/libexec/bpytop.py" \ + --prefix PYTHONPATH : "$PYTHONPATH" + ''; + + meta = with stdenv.lib; { + description = "A resource monitor; python port of bashtop"; + homepage = src.meta.homepage; + license = licenses.apsl20; + maintainers = with maintainers; [ aw ]; + platforms = with platforms; linux ++ freebsd ++ darwin; + + # https://github.com/NixOS/nixpkgs/pull/94625#issuecomment-668509399 + broken = stdenv.isDarwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3fc239826c4..6a9fd2e4ceb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1369,6 +1369,8 @@ in boxfs = callPackage ../tools/filesystems/boxfs { }; + bpytop = callPackage ../tools/system/bpytop { }; + brasero-original = lowPrio (callPackage ../tools/cd-dvd/brasero { }); brasero = callPackage ../tools/cd-dvd/brasero/wrapper.nix { };