diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2025-05-06 15:59:01 +0900 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2025-05-26 13:43:03 +0900 |
commit | 2345e87c35d476bc5624ccf4d8bc9e2e25fc856f (patch) | |
tree | 07a1e65a5fb392f4f1c19a1449cb32cb1f4f38a2 | |
parent | 279adf431bbdb41921e6a72d401a7c55f3bc1947 (diff) |
gnu: bash: Define the SYS_BASHRC macro.
This causes Bash to treat /etc/bashrc as a startup file, removing the need to
source /etc/bashrc from ~/.bashrc.
* gnu/packages/bash.scm (bash-fixed): New package, with added SYS_BASHRC
define.
(bash) [replacement]: Use it.
* gnu/system/shadow.scm (%default-bashrc): Do not source /etc/bashrc, now done
implicitly.
Change-Id: I5b0afd7d81653ef19c482e5501efdf7e50ef37c0
-rw-r--r-- | gnu/packages/bash.scm | 20 | ||||
-rw-r--r-- | gnu/system/shadow.scm | 3 |
2 files changed, 20 insertions, 3 deletions
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index c88f38f537..bcd78d7d2a 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2024 chris <chris@bumblehead.com> +;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -137,6 +138,7 @@ number/base32-hash tuples, directly usable in the 'patch-series' form." (version "5.1")) (package (name "bash") + (replacement bash-fixed) (source (origin (method url-fetch) (uri (string-append @@ -254,6 +256,24 @@ without modification.") (license license:gpl3+) (home-page "https://www.gnu.org/software/bash/")))) +(define bash-fixed + (package + (inherit bash) + (arguments + (substitute-keyword-arguments (package-arguments bash) + ((#:modules modules '%default-gnu-modules) + (append '((ice-9 receive) + (srfi srfi-1) + (srfi srfi-26)) + modules)) + ((#:configure-flags flags) + #~(receive (cppflags flags) + (partition (cut string-prefix? "CPPFLAGS" <>) + #$flags) + (cons (string-append (first cppflags) + " -DSYS_BASHRC='\"/etc/bashrc\"'") + flags))))))) + (define-public bash-minimal ;; A stripped-down Bash for non-interactive use. (package/inherit bash diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 7258a57dc6..b9a5a6134b 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -165,9 +165,6 @@ then return fi -# Source the system-wide file. -[ -f /etc/bashrc ] && source /etc/bashrc - alias ls='ls -p --color=auto' alias ll='ls -l' alias grep='grep --color=auto' |