summaryrefslogtreecommitdiff
path: root/gnu/packages/terminals.scm
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2021-02-08 14:08:27 -0300
committerLudovic Courtès <ludo@gnu.org>2021-03-19 22:13:51 +0100
commitf08a60bbecc46b7918986bb79a34caf537751693 (patch)
treed2b66efe940c071b4307abf1ef420d6f7a113bce /gnu/packages/terminals.scm
parent369d0e7f5c7d5b81543bc053ea9a51fd921102ec (diff)
downloadguix-patches-f08a60bbecc46b7918986bb79a34caf537751693.tar
guix-patches-f08a60bbecc46b7918986bb79a34caf537751693.tar.gz
gnu: Add fzf.
* gnu/packages/terminals.scm (fzf): New variable, which inherits from the existing go-github-com-junegunn-fzf package, but also install other binary, and completion for direct usage. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/terminals.scm')
-rw-r--r--gnu/packages/terminals.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index f4c97e0002..3fe580589d 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -824,6 +824,43 @@ programmer to write text-based user interfaces.")
usable with any list--including files, command history, processes and more.")
(license license:expat)))
+(define-public fzf
+ (package
+ (inherit go-github-com-junegunn-fzf)
+ (name "fzf")
+ (arguments
+ (ensure-keyword-arguments
+ (package-arguments go-github-com-junegunn-fzf)
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'copy-binaries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion "src/github.com/junegunn/fzf"
+ (install-file "bin/fzf-tmux"
+ (string-append out "/bin"))))))
+ (add-after 'copy-binaries 'wrap-programs
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (ncurses (assoc-ref inputs "ncurses")))
+ (wrap-program (string-append out "/bin/fzf-tmux")
+ `("PATH" ":" prefix (,(string-append ncurses "/bin")))))))
+ (add-after 'install 'install-completions
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bash-completion (string-append out "/etc/bash_completion.d"))
+ (zsh-completion (string-append out "/share/zsh/site-functions")))
+ (with-directory-excursion "src/github.com/junegunn/fzf"
+ (mkdir-p bash-completion)
+ (copy-file "shell/completion.bash"
+ (string-append bash-completion "/fzf"))
+ (mkdir-p zsh-completion)
+ (copy-file "shell/completion.zsh"
+ (string-append zsh-completion "/_fzf"))))))))))
+ (inputs
+ `(,@(package-inputs go-github-com-junegunn-fzf)
+ ("ncurses" ,ncurses)))))
+
(define-public go-github.com-howeyc-gopass
(let ((commit "bf9dde6d0d2c004a008c27aaee91170c786f6db8")
(revision "0"))