nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 rustPlatform,
5 cargo-tauri,
6 nodejs,
7 npmHooks,
8 fetchNpmDeps,
9 pkg-config,
10 webkitgtk_4_1,
11 fetchFromGitHub,
12 glib,
13 gtk3,
14 openssl,
15 nix-update-script,
16}:
17
18rustPlatform.buildRustPackage (finalAttrs: {
19 pname = "neohtop";
20 version = "1.2.0";
21
22 src = fetchFromGitHub {
23 owner = "Abdenasser";
24 repo = "neohtop";
25 tag = "v${finalAttrs.version}";
26 hash = "sha256-a6yHg3LqnVQJPi4+WpsxHjvWC2hZhZZkAFqgOVmfWfg=";
27 };
28
29 npmDeps = fetchNpmDeps {
30 inherit (finalAttrs) src;
31 hash = "sha256-t0REXcsy9XIIARiI7lkOc5lO/ZSL50KOUK+SMsXpjdM=";
32 };
33
34 cargoHash = "sha256-nFWF1ER3vk1G/MBw8to+lDJAv6HJNobhdPXV0hVERFE=";
35
36 cargoRoot = "src-tauri";
37
38 buildAndTestSubdir = "src-tauri";
39
40 nativeBuildInputs = [
41 cargo-tauri.hook
42 npmHooks.npmConfigHook
43 pkg-config
44 nodejs
45 ];
46
47 buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
48 glib
49 gtk3
50 openssl
51 webkitgtk_4_1
52 ];
53
54 passthru.updateScript = nix-update-script { };
55
56 meta = {
57 description = "Blazing-fast system monitoring for your desktop";
58 homepage = "https://github.com/Abdenasser/neohtop";
59 changelog = "https://github.com/Abdenasser/neohtop/releases/tag/v${finalAttrs.version}";
60 mainProgram = "NeoHtop";
61 license = lib.licenses.mit;
62 platforms = lib.platforms.linux ++ lib.platforms.darwin;
63 maintainers = with lib.maintainers; [ ];
64 };
65})