summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorDivya Ranjan <[email protected]>2025-01-05 07:04:20 +0000
committerEfraim Flashner <[email protected]>2025-01-06 12:22:54 +0200
commitc5ec66321f11c76f9873c0cdd671f4834f4d9b69 (patch)
tree371b2ba2ffdc12c98fc45d0fb1953e458e8f4aa0 /gnu
parent05fede8a13b32b5e852ac250444d6e2b130520ba (diff)
gnu: Add bottom.
* gnu/packages/rust-apps.scm (bottom): New variable. Signed-off-by: Efraim Flashner <[email protected]> Change-Id: I81e05d6da3757f70439e4b1e7ab59985ca710a64
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/rust-apps.scm111
1 files changed, 111 insertions, 0 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 16b2641880..053f556d6f 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -33,6 +33,7 @@
;;; Copyright © 2024 Suhail Singh <[email protected]>
;;; Copyright © 2024 Jordan Moore <[email protected]>
;;; Copyright © 2024 normally_js <[email protected]>
+;;; Copyright © 2025 Divya Ranjan Pattanaik <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -381,6 +382,116 @@ highlighting for a large number of languages, git integration, and automatic
paging.")
(license (list license:expat license:asl2.0))))
+(define-public bottom
+ (package
+ (name "bottom")
+ (version "0.10.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "bottom" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0y9wjbzrmcvh0fvfr5cizzwzy6f18hagk970mljwhccrwdsbaapg"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:install-source? #f
+ #:cargo-test-flags
+ '("--"
+ "--skip=valid_config_tests::test_all_proc"
+ "--skip=valid_config_tests::test_basic"
+ "--skip=valid_config_tests::test_cpu_doughnut"
+ "--skip=valid_config_tests::test_empty"
+ "--skip=valid_config_tests::test_filtering"
+ "--skip=valid_config_tests::test_many_proc"
+ "--skip=valid_config_tests::test_styling_sanity_check"
+ "--skip=valid_config_tests::test_styling_sanity_check_2"
+ "--skip=valid_config_tests::test_theme")
+ #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-backtrace" ,rust-backtrace-0.3)
+ ("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-clap-complete" ,rust-clap-complete-4)
+ ("rust-clap-complete-fig" ,rust-clap-complete-fig-4)
+ ("rust-clap-complete-nushell" ,rust-clap-complete-nushell-4)
+ ("rust-clap-mangen" ,rust-clap-mangen-0.2)
+ ("rust-concat-string" ,rust-concat-string-1)
+ ("rust-core-foundation" ,rust-core-foundation-0.9)
+ ("rust-crossterm" ,rust-crossterm-0.27)
+ ("rust-ctrlc" ,rust-ctrlc-3)
+ ("rust-dirs" ,rust-dirs-5)
+ ("rust-fern" ,rust-fern-0.6)
+ ("rust-filedescriptor" ,rust-filedescriptor-0.8)
+ ("rust-hashbrown" ,rust-hashbrown-0.14)
+ ("rust-humantime" ,rust-humantime-2)
+ ("rust-indexmap" ,rust-indexmap-2)
+ ("rust-indoc" ,rust-indoc-2)
+ ("rust-itertools" ,rust-itertools-0.13)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-mach2" ,rust-mach2-0.4)
+ ("rust-nvml-wrapper" ,rust-nvml-wrapper-0.10)
+ ("rust-ratatui" ,rust-ratatui-0.27)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-rustix" ,rust-rustix-0.38)
+ ("rust-schemars" ,rust-schemars-0.8)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-starship-battery" ,rust-starship-battery-0.9)
+ ("rust-strum" ,rust-strum-0.26)
+ ("rust-sysctl" ,rust-sysctl-0.5)
+ ("rust-sysinfo" ,rust-sysinfo-0.30)
+ ("rust-time" ,rust-time-0.3)
+ ("rust-toml-edit" ,rust-toml-edit-0.22)
+ ("rust-unicode-ellipsis" ,rust-unicode-ellipsis-0.2)
+ ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
+ ("rust-unicode-width" ,rust-unicode-width-0.1)
+ ("rust-windows" ,rust-windows-0.58))
+ #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2)
+ ("rust-cargo-husky" ,rust-cargo-husky-1)
+ ("rust-portable-pty" ,rust-portable-pty-0.8)
+ ("rust-predicates" ,rust-predicates-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'enable-building-completions
+ (lambda _
+ (setenv "BTM_GENERATE" "true")))
+ (add-after 'install 'install-extras
+ (lambda* (#:key native-inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (man1 (string-append share "/man/man1"))
+ (bash-completions-dir
+ (string-append out "/etc/bash_completion.d/"))
+ (zsh-completions-dir
+ (string-append share "/zsh/site-functions"))
+ (fish-completions-dir
+ (string-append share "/fish/vendor_completions.d"))
+ (elvish-completions-dir
+ (string-append share "/elvish/lib"))
+ (nu-completions-dir
+ (string-append share "/nushell/vendor/autoload")))
+ (install-file "target/tmp/bottom/manpage/btm.1" man1)
+ (install-file "target/tmp/bottom/completion/_btm"
+ zsh-completions-dir)
+ (install-file "target/tmp/bottom/completion/btm.fish"
+ fish-completions-dir)
+ (mkdir-p bash-completions-dir)
+ (copy-file "target/tmp/bottom/completion/btm.bash"
+ (string-append bash-completions-dir "/btm"))
+ (mkdir-p elvish-completions-dir)
+ (copy-file "target/tmp/bottom/completion/btm.elv"
+ (string-append elvish-completions-dir "/btm"))
+ (mkdir-p nu-completions-dir)
+ (copy-file "target/tmp/bottom/completion/btm.nu"
+ (string-append nu-completions-dir "/btm"))))))))
+ (home-page "https://github.com/ClementTsang/bottom")
+ (synopsis "Customizable graphical process/system monitor for the terminal")
+ (description
+ "This package provides a customizable graphical process/system monitor for
+the terminal.")
+ (license license:expat)))
+
(define-public cargo-machete
(package
(name "cargo-machete")