handheld-daemon-ui: 3.2.3 -> 3.3.0 (#361609)
[NixPkgs.git] / pkgs / tools / system / zenith / default.nix
blobffb530600bd392c8a0f3987ca47167dfd36b5103
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , IOKit
6 , nvidiaSupport ? false
7 , makeWrapper
8 }:
10 assert nvidiaSupport -> stdenv.hostPlatform.isLinux;
12 rustPlatform.buildRustPackage rec {
13   pname = "zenith";
14   version = "0.14.1";
16   src = fetchFromGitHub {
17     owner = "bvaisvil";
18     repo = "zenith";
19     rev = version;
20     hash = "sha256-y+/s0TDVAFGio5uCzHjf+kHFZB0G8dDgTt2xaqSSz1c=";
21   };
23   # remove cargo config so it can find the linker on aarch64-linux
24   postPatch = ''
25     rm .cargo/config
26   '';
28   cargoLock = {
29     lockFile = ./Cargo.lock;
30     outputHashes = {
31       "heim-0.1.0-rc.1" = "sha256-TKEG0YxF44wLz+qxpS/VfRKucqyl97t3PDxjPajbD58=";
32       "sysinfo-0.15.1" = "sha256-faMxXEHL7DFQLYrAJ+yBL6yiepZotofPF2+SizGQj4A=";
33     };
34   };
36   nativeBuildInputs = [ rustPlatform.bindgenHook ] ++ lib.optional nvidiaSupport makeWrapper;
37   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ IOKit ];
39   buildFeatures = lib.optional nvidiaSupport "nvidia";
41   postInstall = lib.optionalString nvidiaSupport ''
42     wrapProgram $out/bin/zenith \
43       --suffix LD_LIBRARY_PATH : "/run/opengl-driver/lib"
44   '';
46   meta = with lib; {
47     description = "Sort of like top or htop but with zoom-able charts, network, and disk usage"
48       + lib.optionalString nvidiaSupport ", and NVIDIA GPU usage";
49     mainProgram = "zenith";
50     homepage = "https://github.com/bvaisvil/zenith";
51     license = licenses.mit;
52     maintainers = with maintainers; [ wegank ];
53     platforms = platforms.unix;
54   };