gnu: Add liquidprompt.

* gnu/packages/shellutils.scm (liquidprompt): New variable.

Change-Id: I0004568df6dd6011f5e65c9894ce97a8c2533f84
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Romain GARBAGE 2023-12-20 16:50:34 +01:00 committed by Ludovic Courtès
parent 96b6e7b1a4
commit eae83c662e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -791,3 +791,68 @@ (define-public grc
@end example
")
(license license:gpl2)))
(define-public liquidprompt
(package
(name "liquidprompt")
(version "2.1.2")
(home-page "https://github.com/liquidprompt/liquidprompt")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/liquidprompt/liquidprompt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ljlq97mh84d6g6r3abb254vrwrdan5v74b69fpd62d7p9ffnsgf"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan #~'(("liquidpromptrc-dist" "etc/liquidpromptrc")
("example.bashrc" "share/liquidprompt/examples/")
("liquid.ps1" "share/liquidprompt/examples/")
("liquidprompt" "share/liquidprompt/")
("contrib" "share/liquidprompt/")
("themes" "share/liquidprompt/")
("liquidprompt.plugin.zsh"
"share/zsh/plugins/liquidprompt/")
("docs" #$(string-append "share/doc/" name "-"
version "/")))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-plugin
(lambda _
(substitute* "liquidprompt.plugin.zsh"
(("source(.*)$")
(string-append "source "
#$output
"/share/liquidprompt/liquidprompt")))))
(add-after 'fix-plugin 'fix-tput-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "liquidprompt"
(("([ (])tput " all beginning)
(string-append beginning
(search-input-file inputs "bin/tput")
" "))))))))
(inputs (list ncurses))
(synopsis "Full-featured prompt for Bash & Zsh")
(description
"Liquidprompt is an adaptive prompt for Bash and Zsh that gives
you a nicely displayed prompt with useful information when you need it. It
does this with a powerful theming engine and a large array of data sources.
In order to use liquidprompt with Zsh, you should use the following snippet
with Guix Home:
@example
(service home-zsh-service-type
(home-zsh-configuration
(zshrc (list ;;...
;; This loads liquidprompt
(mixed-text-file \"liquidprompt\"
\"[[ $- = *i* ]] && source \" liquidprompt \"/share/liquidprompt/liquidprompt\")
;; This loads the powerline theme available in liquidprompt
(mixed-text-file \"powerline-theme\"
\"source \" liquidprompt \"/share/liquidprompt/themes/powerline/powerline.theme\"))))))
@end example\n")
(license license:agpl3+)))