base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / system / nvidia-system-monitor-qt / default.nix
blobe4e1868997be5f3c11becba1443b8d3afac84818
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , cmake
5 , qtbase
6 , wrapQtAppsHook
7 , makeDesktopItem
8 , copyDesktopItems
9 }:
11 let
12   # Based in desktop files from official packages:
13   # https://github.com/congard/nvidia-system-monitor-qt/tree/master/package
14   desktopItem = makeDesktopItem {
15     name = "nvidia-system-monitor-qt";
16     desktopName = "NVIDIA System Monitor";
17     icon = "qnvsm";
18     exec = "qnvsm";
19     categories = [
20       "System"
21       "Utility"
22       "Qt"
23     ];
24   };
26 stdenv.mkDerivation rec {
27   pname = "nvidia-system-monitor-qt";
28   version = "1.5";
30   src = fetchFromGitHub {
31     owner = "congard";
32     repo = "nvidia-system-monitor-qt";
33     rev = "v${version}";
34     sha256 = "sha256-VDw5Wp/QFDV1zKF4yz0aR0Hox9KHXZmeAKzKLSlu8Ck=";
35   };
37   buildInputs = [ qtbase ];
38   nativeBuildInputs = [ cmake wrapQtAppsHook copyDesktopItems ];
40   cmakeFlags = [
41     "-DIconPath=${placeholder "out"}/share/icons/hicolor/512x512/apps/qnvsm.png"
42     "-DVersionPrefix=(Nixpkgs)"
43   ];
45   installPhase = ''
46     runHook preInstall
48     install -Dm755 qnvsm $out/bin/qnvsm
49     install -Dm644 $src/icon.png $out/share/icons/hicolor/512x512/apps/qnvsm.png
51     runHook postInstall
52   '';
54   desktopItems = [ desktopItem ];
56   meta = rec {
57     description = "Task Manager for Linux for NVIDIA graphics cards";
58     homepage = "https://github.com/congard/nvidia-system-monitor-qt";
59     downloadPage = "${homepage}/releases";
60     changelog = "${downloadPage}/tag/v${version}";
61     license = lib.licenses.mit;
62     maintainers = with lib.maintainers; [ hacker1024 ];
63     mainProgram = "qnvsm";
64     platforms = lib.platforms.linux;
65   };