Subject: [bug#42752] [PATCH core-updates] gnu: bash: Make completions work in non-login shells.

From: Jakub Kądziołka <[email-masked]>
Date: Sat, 8 Aug 2020 00:14:39 +0200

Currently, /etc/bashrc is only loaded by /etc/profile. Because the
former is responsible for setting up command-specific completions, they
currently only work in login shells. This patch configures bash to load
/etc/bashrc in interactive non-login shells, as by default no
system-wide configuration is loaded.

* gnu/packages/bash.scm (bash): Set SYS_BASHRC to /etc/bashrc.
---
 gnu/packages/bash.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 47ca625d9a..9784e2ccc1 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -108,7 +108,8 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
   (let* ((cppflags (string-join '("-DDEFAULT_PATH_VALUE='\"/no-such-path\"'"
                                   "-DSTANDARD_UTILS_PATH='\"/no-such-path\"'"
                                   "-DNON_INTERACTIVE_LOGIN_SHELLS"
-                                  "-DSSH_SOURCE_BASHRC")
+                                  "-DSSH_SOURCE_BASHRC"
+                                  "-DSYS_BASHRC='\"/etc/bashrc\"'")
                                 " "))
          (configure-flags
           ``("--with-installed-readline"
-- 
2.28.0