aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/shells.scm22
1 files changed, 21 insertions, 1 deletions
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 8e2ca2a9a3..d0561559e9 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -102,7 +102,8 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(base32 "1kzjd0n0sfslkd36lzrvvvgy3qwkd9y466bkrqlnhd5h9dhx77ga"))))
(build-system gnu-build-system)
(inputs
- `(("groff" ,groff) ; for 'fish --help'
+ `(("fish-foreign-env" ,fish-foreign-env)
+ ("groff" ,groff) ; for 'fish --help'
("ncurses" ,ncurses)
("pcre2" ,pcre2) ; don't use the bundled PCRE2
("python" ,python))) ; for fish_config and manpage completions
@@ -170,6 +171,25 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
" $__extra_confdir\n")
port)
(close-port port))
+ #t))
+ ;; Use fish-foreign-env to source /etc/profile.
+ (add-before 'install 'source-etc-profile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((port (open-file "share/__fish_build_paths.fish" "a")))
+ (display
+ (string-append
+ "\n\n"
+ "# Patched by Guix.\n"
+ "# Use fish-foreign-env to source /etc/profile.\n"
+ "if status is-login\n"
+ " set fish_function_path "
+ (assoc-ref inputs "fish-foreign-env") "/share/fish/functions"
+ " $__fish_datadir/functions\n"
+ " fenv source /etc/profile\n"
+ " set -e fish_function_path\n"
+ "end\n")
+ port)
+ (close-port port))
#t)))))
(synopsis "The friendly interactive shell")
(description