1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 installShellFiles,
6 libxcb,
7}:
8
9rustPlatform.buildRustPackage rec {
10 pname = "kmon";
11 version = "1.7.1";
12
13 src = fetchFromGitHub {
14 owner = "orhun";
15 repo = "kmon";
16 rev = "v${version}";
17 sha256 = "sha256-DzbbeVZifuxgmIu3yNv6EI7Jyh8MA0/oSaR5IEPNUN8=";
18 };
19
20 cargoHash = "sha256-B1sxbifMTnr6tLZCAuxVlQPL5oKCUL0wtw3/wOyfyyw=";
21
22 nativeBuildInputs = [ installShellFiles ];
23
24 buildInputs = [ libxcb ];
25
26 postInstall = ''
27 installManPage $releaseDir/../man/kmon.8
28 installShellCompletion $releaseDir/../completions/kmon.{bash,fish} \
29 --zsh $releaseDir/../completions/_kmon
30 '';
31
32 meta = {
33 description = "Linux Kernel Manager and Activity Monitor";
34 homepage = "https://github.com/orhun/kmon";
35 changelog = "https://github.com/orhun/kmon/blob/v${version}/CHANGELOG.md";
36 license = lib.licenses.gpl3Only;
37 platforms = lib.platforms.linux;
38 maintainers = with lib.maintainers; [
39 figsoda
40 matthiasbeyer
41 ];
42 mainProgram = "kmon";
43 };
44}