summary refs log tree commit diff
path: root/gnu/packages/tmux.scm
diff options
context:
space:
mode:
authorStefan Reichoer <stefan@xsteve.at>2017-06-16 21:30:24 +0200
committerThomas Danckaert <thomas.danckaert@gmail.com>2017-06-17 22:04:55 +0200
commit6c8b802f9c8ef3beb41d468eec8d2a2948efdb9c (patch)
tree74e7373c9d85c4f15cecb4dead65459863e4b449 /gnu/packages/tmux.scm
parent26bbdabdaa33791aadeb7bae17c8ba1bc06f4806 (diff)
downloadguix-6c8b802f9c8ef3beb41d468eec8d2a2948efdb9c.tar.gz
gnu: Add tmuxifier.
* gnu/packages/tmux.scm (tmuxifier): New variable.

Signed-off-by: Thomas Danckaert <post@thomasdanckaert.be>
Diffstat (limited to 'gnu/packages/tmux.scm')
-rw-r--r--gnu/packages/tmux.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index 5b92df88ae..0ffc3b9980 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
+;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -89,3 +90,48 @@ continue running in the background, then later reattached.")
       (description "A collection of various themes for Tmux.")
       (license
        (non-copyleft "http://www.wtfpl.net/txt/copying/")))))
+
+(define-public tmuxifier
+  (package
+    (name "tmuxifier")
+    (version "0.13.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                    "https://github.com/jimeh/tmuxifier/archive/v"
+                    version ".tar.gz"))
+             (file-name (string-append name "-" version ".tar.gz"))
+             (sha256
+              (base32
+               "1j9fj6zg0j3sdn7svpybzsqh7876rv81zi437976kj7hxnyjkcz7"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (delete 'build)
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out    (assoc-ref %outputs "out"))
+                             (bindir (string-append out "/bin"))
+                             (share  (string-append out "/share/" ,name)))
+                        (install-file "bin/tmuxifier" bindir)
+                        (substitute* (string-append bindir "/tmuxifier")
+                          (("set -e")
+                           (string-append "TMUXIFIER=" share "\nset -e")))
+                        (for-each (lambda (init-script)
+                                    (install-file init-script (string-append
+                                                               share "/init")))
+                                  '("init.sh" "init.tcsh" "init.fish"))
+                        (for-each (lambda (dir)
+                                    (copy-recursively dir (string-append
+                                                           share "/" dir)))
+                                  '("completion" "lib" "libexec"
+                                    "templates"))))))))
+    (home-page "https://github.com/jimeh/tmuxifier")
+    (synopsis "Powerful session, window & pane management for Tmux")
+    (description "Tmuxifier allows you to easily create, edit, and load
+@code{layout} files, which are simple shell scripts where you use the tmux
+command and helper commands provided by tmuxifier to manage Tmux sessions and
+windows.")
+    (license expat)))