futurile pushed a commit to branch rust-team
in repository guix.
commit 99d1e68a9558a35018b22b21755c14e9518d6788
Author: Alex Bosco via Guix-patches via <[email protected]>
AuthorDate: Sat Mar 8 13:16:30 2025 +0000
gnu: Add tmux-plugin-sessionizer.
* gnu/packages/tmux.scm (tmux-plugin-sessionizer): New variable.
Change-Id: Icebdbb52996512947af9141df35529e376091165
Signed-off-by: Steve George <[email protected]>
---
gnu/packages/tmux.scm | 61 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index ebd957c4ee..764407797b 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2021 Matthew James Kraai <[email protected]>
;;; Copyright © 2024 Ashish SHUKLA <[email protected]>
;;; Copyright © 2024 Zheng Junjie <[email protected]>
+;;; Copyright © 2025 Alex Bosco <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,9 +30,11 @@
(define-module (gnu packages tmux)
#:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
#:use-module (guix git-download)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
@@ -41,12 +44,17 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
+ #:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crates-vcs)
#:use-module (gnu packages linux)
#:use-module (gnu packages libevent)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python-xyz)
- #:use-module (gnu packages sphinx))
+ #:use-module (gnu packages sphinx)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control))
(define-public tmux
(package
@@ -395,3 +403,52 @@ also displays a textual bar graph of the current percent
usage.
The system load average is also displayed.")
(home-page "https://github.com/thewtex/tmux-mem-cpu-load")
(license license:asl2.0)))
+
+(define-public tmux-plugin-sessionizer
+ (package
+ (name "tmux-plugin-sessionizer")
+ (version "0.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "tmux-sessionizer" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0fwdc8jyx9fab442c6zsl3yn8nh1s5h35g97cgqhyp3blxl6h9ix"))
+ (snippet #~(begin
+ (use-modules (guix build utils))
+ (substitute* "Cargo.toml"
+ (("\"vendored-openssl\"")
+ ""))))))
+ (build-system cargo-build-system)
+ (native-inputs (list pkg-config))
+ (inputs (list openssl libgit2-1.8 libssh2))
+ (arguments
+ `(#:cargo-inputs (("rust-aho-corasick" ,rust-aho-corasick-1)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-clap-complete" ,rust-clap-complete-4)
+ ("rust-config" ,rust-config-0.14)
+ ("rust-crossterm" ,rust-crossterm-0.28)
+ ("rust-dirs" ,rust-dirs-5)
+ ("rust-error-stack" ,rust-error-stack-0.5)
+ ("rust-git2" ,rust-git2-0.19)
+ ("rust-nucleo" ,rust-nucleo-0.5)
+ ("rust-ratatui" ,rust-ratatui-0.28)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-derive" ,rust-serde-derive-1)
+ ("rust-shell-words" ,rust-shell-words-1)
+ ("rust-shellexpand" ,rust-shellexpand-3)
+ ("rust-toml" ,rust-toml-0.8))
+ #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-assert-cmd" ,rust-assert-cmd-2)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-predicates" ,rust-predicates-3)
+ ("rust-pretty-assertions"
,rust-pretty-assertions-1)
+ ("rust-tempfile" ,rust-tempfile-3))))
+ (home-page "https://github.com/jrmoulton/tmux-sessionizer")
+ (synopsis "Fuzzy find Git repositories and open them as Tmux sessions")
+ (description
+ "Tmux Sessionizer is a command-line tool to fuzzy find all the Git
+repositories in a list of specified folders and open them as a new tmux
session.
+For @code{git worktrees}, this tool opens all checked out worktrees as new
windows.")
+ (license license:expat)))