gnu: Add tmux-xpanes.

* gnu/packages/tmux.scm (tmux-xpanes): New variable.
This commit is contained in:
Oleg Pykhalov 2019-03-10 18:30:12 +03:00
parent 94a33ab899
commit e80a809f1f
No known key found for this signature in database
GPG key ID: 167F8EA5001AFA9C

View file

@ -5,6 +5,7 @@
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,7 +28,9 @@ (define-module (gnu packages tmux)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages libevent)
#:use-module (gnu packages ncurses))
@ -134,3 +137,50 @@ (define-public tmuxifier
command and helper commands provided by tmuxifier to manage Tmux sessions and
windows.")
(license expat)))
(define-public tmux-xpanes
(package
(name "tmux-xpanes")
(version "4.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/greymd/tmux-xpanes.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0px164ikhnzfls6dld4xhiyd9j5jp2rbmwfg11b1pxzm9mp7qk6r"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(setenv "PATH" (string-append (assoc-ref %build-inputs "bash") "/bin"))
(copy-recursively (assoc-ref %build-inputs "source") ".")
(substitute* "bin/xpanes"
(("/bin/bash") (which "bash")))
(install-file "bin/xpanes" (string-append %output "/bin"))
(install-file "man/xpanes.1" (string-append %output "/man/man1"))
#t)))
(home-page "https://github.com/greymd/tmux-xpanes")
(synopsis "Tmux based terminal divider")
(description "This package provides tmux-based terminal divider.
@code{xpanes} or @code{tmux-xpanes} (alias of @code{xpanes}) commands have
following features:
@itemize
@item Split tmux window into multiple panes.
@item Build command lines & execute them on the panes.
@item Runnable from outside of tmux session.
@item Runnable from inside of tmux session.
@item Record operation log.
@item Flexible layout arrangement for panes.
@item Display pane title on each pane.
@item Generate command lines from standard input (Pipe mode).
@end itemize")
(license expat)))