aboutsummaryrefslogtreecommitdiff
A big thanks to Eelco Dolstra, who designed and implemented Nix.
Transposing functional programming discipline to package management
proved to be inspiring and fruitful.

Thanks to the following people who contributed to GNU Guix through
suggestions, bug reports, patches, internationalization, or general
infrastructure help:

	    Lluís Batlle i Rossell <viric@viric.name>
          Sylvain Beucler <beuc@beuc.net>
	   Carlos Carleos <carleos@uniovi.es>
	   Felipe Castro <fefcas@gmail.com>
	   Daniel Clark <dclark@pobox.com>
	Alexandru Cojocaru <xojoc@gmx.com>
	    Aleix Conchillo Flaqué <aconchillo@gmail.com>
          Malcolm Cook <MEC@stowers.org>
           Thomas Danckaert <thomas.danckaert@gmail.com>
	   Rafael Ferreira <rafael.f.f1@gmail.com>
	Christian Grothoff <christian@grothoff.org>
             Eric Hanchrow <eric.hanchrow@gmail.com>
           Konrad Hinsen <konrad.hinsen@fastmail.net>
          Brandon Invergo <brandon@gnu.org>
           Anders Jonsson <anders.jonsson@norsjovallen.se>
	  Jeffrin Jose <ahiliation@yahoo.co.in>
	          Kete <kete@ninthfloor.org>
           Daniel Kochmański <dkochmanski@hellsgate.pl>
	  Matthew Lien <bluet@bluet.org>
             Dave Love <fx@gnu.org>
            Chris Marusich <cmmarusich@gmail.com>
            Niels Möller <nisse@lysator.liu.se>
          Cyprien Nicolas <cyprien@nicolas.tf>
	   Yutaka Niibe <gniibe@fsij.org>
           Andrei Osipov <andrspv@gmail.com>
                  Petter <petter@mykolab.ch>
             Adam Pribyl <pribyl@lowlevel.cz>
            Pjotr Prins <pjotr.public12@thebird.nl>
  Yakkala Yagnesh Raghava <hi@yagnesh.org>
           Joshua Randall <jcrandall@alum.mit.edu>
      Bruno Félix Rezende Ribeiro <oitofelix@gnu.org>
	    Benno Schulenberg <coordinator@translationproject.org>
           Thomas Schwinge <thomas@codesourcery.com>
        Alexander Shendi <Alexander.Shendi@web.de>
	     Alen Skondro <askondro@gmail.com>
              Jan Synáček <jan.synacek@gmail.com>
	 Matthias Wachs <wachs@net.in.tum.de>
        Christine Lemmer-Webber <cwebber@dustycloud.org>
           Philip Woods <elzairthesorcerer@gmail.com>

GNU Guix also includes non-software works.  Thanks to the following
people who contributed the logo and general artwork and themes:

           Nikita Karetnikov <nikita@karetnikov.org>
           Felipe López <felipe.lopez@openmailbox.org>
detached from a screen and continue running in the background, then later reattached.") (license license:isc))) (define-public tmux-themepack (package (name "tmux-themepack") (version "1.1.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/jimeh/tmux-themepack") (commit version))) (sha256 (base32 "00dmd16ngyag3n46rbnl9vy82ih6g0y02yfwkid32a1c8vdbvb3z")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite #:phases (modify-phases %standard-phases (delete 'configure) (delete 'build) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (string-append (assoc-ref outputs "out") "/share/" ,name))) (copy-recursively "powerline" (string-append out "/powerline")) (for-each (lambda (file) (copy-file file (string-append out "/" file))) '("basic.tmuxtheme" "default.tmuxtheme" "themepack.tmux")))))))) (home-page "https://github.com/jimeh/tmux-themepack") (synopsis "Collection of themes for Tmux") (description "This package provides several themes for Tmux, the terminal multiplexer.") (license license:wtfpl2))) (define-public tmuxifier (package (name "tmuxifier") (version "0.13.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/jimeh/tmuxifier") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1b6a1cw2mnml84k5vhbcp58kvp94xlnlpp4kwdhqw4jrzfgcjfzd")))) (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 license:expat))) (define-public python-libtmux (package (name "python-libtmux") (version "0.10.1") (source (origin (method git-fetch) ;; PyPI source tarball does not include tests. (uri (git-reference (url "https://github.com/tmux-python/libtmux") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "068vy92f2668vrjvd3laqvxd48cmna66f2msdmwk2hm9qxklgf51")))) (build-system python-build-system) (propagated-inputs (list procps)) ;tests need top (native-inputs (list python-pytest tmux)) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ ;; Fix <https://github.com/tmux-python/libtmux/issues/265>. (setenv "LANG" "en_US.utf8") ;; Skip tests that I suspect fail because of a change ;; in behavior in tmux 3 from tmux 2 ;; https://github.com/tmux-python/libtmux/issues/281 (invoke "pytest" "-vv" "-k" (string-append "not test_show_option_unknown " "and not test_show_window_option_unknown")) #t))))) (home-page "https://github.com/tmux-python/libtmux") (synopsis "Python API for tmux") (description "Libtmux is the tool behind @command{tmuxp}, a tmux workspace manager in Python. It creates object mappings to traverse, inspect and interact with live tmux sessions.") (license license:expat))) (define-public python-daemux (package (name "python-daemux") (version "0.1.0") (source ;; We fetch from the Git repo because there are no tests in the PyPI ;; archive. (origin (method git-fetch) (uri (git-reference (url "https://github.com/edouardklein/daemux") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0cb8v552f2hkwz6d3hwsmrz3gd28jikga3lcc3r1zlw8ra7804ph")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ (mkdir-p "tmptmux") (setenv "TMUX_TMPDIR" (string-append (getcwd) "/tmptmux")) (invoke "tmux" "new-session" "-d") (invoke "make" "test")))))) (propagated-inputs (list python-libtmux)) (native-inputs (list python-coverage python-sphinx tmux)) (home-page "https://github.com/edouardklein/daemux") (synopsis "Start, stop, restart and check daemons via tmux") (description "Daemux lets you run daemons in a @command{tmux} pane. Users can launch long-running background tasks, and check these tasks' health by hand, relaunch them, etc., by attaching to the corresponding pane in tmux.") (license license:agpl3+))) (define-public tmux-xpanes (package (name "tmux-xpanes") (version "4.1.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/greymd/tmux-xpanes") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "09fmnn1q76r1l4cv7clmfr3j9cjmd053kq238d0qj2i486948ivv")))) (build-system trivial-build-system) (inputs (list 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 license:expat))) (define-public tmux-plugin-resurrect (let ((commit "a2ddfb96b94bb64a7a2e3f5fa2a7c57dce8ad579") (revision "0")) (package (name "tmux-plugin-resurrect") (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tmux-plugins/tmux-resurrect/") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1gc8z99na1d4scn2kq4alwyn43h3r7ykz9bkhcypjh8iri6dsl0c")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) (let ((out (string-append %output "/share/tmux-plugins/resurrect/"))) (mkdir-p out) (copy-recursively (assoc-ref %build-inputs "source") out))))) (synopsis "Restore tmux environment after system restart") (description "This plugin goes to great lengths to save and restore all the details from your tmux environment. Here's what's been taken care of: @itemize @item all sessions, windows, panes and their order @item current working directory for each pane @item exact pane layouts within windows (even when zoomed) @item active and alternative session @item active and alternative window for each session @item windows with focus @item active pane for each window @item \"grouped sessions\" (useful feature when using tmux with multiple monitors) @item programs running within a pane! More details in the restoring programs doc. @end itemize Optional: @itemize @item restoring vim and neovim sessions @item restoring pane contents @end itemize") (home-page "https://github.com/tmux-plugins/tmux-resurrect/") (license license:expat)))) (define-public tmux-plugin-continuum (let ((commit "3e4bc35da41f956c873aea716c97555bf1afce5d") (revision "0")) (package (name "tmux-plugin-continuum") (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tmux-plugins/tmux-continuum/") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1py8qfs2f93hkxhk039m813bjgcs5k54si662gx05g3czqy06pb7")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) (let ((out (string-append %output "/share/tmux-plugins/continuum/"))) (mkdir-p out) (copy-recursively (assoc-ref %build-inputs "source") out))))) (synopsis "Continuous saving of tmux environment") (description "Features: @itemize @item continuous saving of tmux environment @item automatic tmux start when computer/server is turned on @item automatic restore when tmux is started @end itemize Together, these features enable uninterrupted tmux usage. No matter the computer or server restarts, if the machine is on, tmux will be there how you left it off the last time it was used.") (home-page "https://github.com/tmux-plugins/tmux-continuum/") (license license:expat)))) (define-public tmux-plugin-mem-cpu-load (package (name "tmux-plugin-mem-cpu-load") (version "3.7.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/thewtex/tmux-mem-cpu-load") (commit (string-append "v" version)))) (sha256 (base32 "03bax7g9jlsci44ccs50drh617ya3fzvlplwyvxfyb7mgmh85r72")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (synopsis "CPU, RAM, and load monitor for use with tmux") (description "This package provides a lightweight program for system monitoring in the status line of tmux. The memory monitor displays the used and available memory. The CPU usage monitor outputs a percent CPU usage over all processors. It 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)))