From eae83c662ecfd4b0a33ca47ccf1d158c20070e52 Mon Sep 17 00:00:00 2001 From: Romain GARBAGE Date: Wed, 20 Dec 2023 16:50:34 +0100 Subject: gnu: Add liquidprompt. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/shellutils.scm (liquidprompt): New variable. Change-Id: I0004568df6dd6011f5e65c9894ce97a8c2533f84 Signed-off-by: Ludovic Courtès --- gnu/packages/shellutils.scm | 65 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) (limited to 'gnu/packages/shellutils.scm') diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 671848fd27..f010a50538 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -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+))) -- cgit v1.2.3