summaryrefslogtreecommitdiff
path: root/gnu/packages/shellutils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/shellutils.scm')
-rw-r--r--gnu/packages/shellutils.scm103
1 files changed, 95 insertions, 8 deletions
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index f7542ea759b..6630332692d 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -5,6 +5,7 @@
5;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> 5;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
6;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> 6;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
7;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> 7;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
8;;; Copyright © 2019 Collin J. Doering <collin@rekahsoft.ca>
8;;; 9;;;
9;;; This file is part of GNU Guix. 10;;; This file is part of GNU Guix.
10;;; 11;;;
@@ -22,21 +23,107 @@
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 24
24(define-module (gnu packages shellutils) 25(define-module (gnu packages shellutils)
25 #:use-module (gnu packages base)
26 #:use-module (gnu packages golang)
27 #:use-module (gnu packages python)
28 #:use-module ((guix licenses) #:prefix license:) 26 #:use-module ((guix licenses) #:prefix license:)
27 #:use-module (guix utils)
29 #:use-module (guix packages) 28 #:use-module (guix packages)
30 #:use-module (guix download) 29 #:use-module (guix download)
31 #:use-module (guix git-download) 30 #:use-module (guix git-download)
31 #:use-module (guix build-system gnu)
32 #:use-module (guix build-system go)
33 #:use-module (guix build-system python)
32 #:use-module (gnu packages autotools) 34 #:use-module (gnu packages autotools)
35 #:use-module (gnu packages base)
36 #:use-module (gnu packages golang)
33 #:use-module (gnu packages ncurses) 37 #:use-module (gnu packages ncurses)
34 #:use-module (gnu packages readline)
35 #:use-module (gnu packages pkg-config) 38 #:use-module (gnu packages pkg-config)
36 #:use-module (guix utils) 39 #:use-module (gnu packages python)
37 #:use-module (guix build-system gnu) 40 #:use-module (gnu packages readline)
38 #:use-module (guix build-system go) 41 #:use-module (gnu packages ruby)
39 #:use-module (guix build-system python)) 42 #:use-module (gnu packages shells)
43 #:use-module (gnu packages tmux))
44
45(define-public zsh-autosuggestions
46 (package
47 (name "zsh-autosuggestions")
48 (version "0.6.3")
49 (source (origin
50 (method git-fetch)
51 (uri (git-reference
52 (url "https://github.com/zsh-users/zsh-autosuggestions.git")
53 (commit (string-append "v" version))))
54 (file-name (git-file-name name version))
55 (sha256
56 (base32
57 "1h8h2mz9wpjpymgl2p7pc146c1jgb3dggpvzwm9ln3in336wl95c"))))
58 (build-system gnu-build-system)
59 (native-inputs
60 `(("ruby" ,ruby)
61 ("ruby-byebug" ,ruby-byebug)
62 ("ruby-pry" ,ruby-pry)
63 ("ruby-rspec" ,ruby-rspec)
64 ("ruby-rspec-wait" ,ruby-rspec-wait)
65 ("tmux" ,tmux)
66 ("zsh" ,zsh)))
67 (arguments
68 '(#:phases
69 (modify-phases %standard-phases
70 (delete 'configure)
71 (replace 'check ; Tests use ruby's bundler; instead execute rspec directly.
72 (lambda _
73 (setenv "TMUX_TMPDIR" (getenv "TMPDIR"))
74 (setenv "SHELL" (which "zsh"))
75 (invoke "rspec")))
76 (replace 'install
77 (lambda* (#:key outputs #:allow-other-keys)
78 (let* ((out (assoc-ref outputs "out"))
79 (zsh-plugins
80 (string-append out "/share/zsh/plugins/zsh-autosuggestions")))
81 (invoke "make" "all")
82 (install-file "zsh-autosuggestions.zsh" zsh-plugins)
83 #t))))))
84 (home-page "https://github.com/zsh-users/zsh-autosuggestions")
85 (synopsis "Fish-like autosuggestions for zsh")
86 (description
87 "Fish-like fast/unobtrusive autosuggestions for zsh. It suggests commands
88as you type.")
89 (license license:expat)))
90
91(define-public sh-z
92 (package
93 (name "sh-z")
94 (version "1.11")
95 (source (origin
96 (method git-fetch)
97 (uri (git-reference
98 (url "https://github.com/rupa/z.git")
99 (commit (string-append "v" version))))
100 (file-name (git-file-name name version))
101 (sha256
102 (base32
103 "13zbgkj6y0qhvn5jpkrqbd4jjxjr789k228iwma5hjfh1nx7ghyb"))))
104 (build-system gnu-build-system)
105 (arguments
106 `(#:tests? #f ; No tests provided
107 #:phases
108 (modify-phases %standard-phases
109 (delete 'configure)
110 (delete 'build)
111 (replace 'install
112 (lambda* (#:key outputs #:allow-other-keys)
113 (let* ((out (assoc-ref outputs "out"))
114 (man (string-append out "/share/man/man1"))
115 (bin (string-append out "/bin")))
116 (install-file "z.sh" bin)
117 (chmod (string-append bin "/z.sh") #o755)
118 (install-file "z.1" man)
119 #t))))))
120 (synopsis "Jump about directories")
121 (description
122 "Tracks your most used directories, based on ``frecency''. After a short
123learning phase, z will take you to the most ``frecent'' directory that matches
124all of the regexes given on the command line in order.")
125 (home-page "https://github.com/rupa/z")
126 (license license:expat)))
40 127
41(define-public envstore 128(define-public envstore
42 (package 129 (package