aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-03-12 22:11:18 +0100
committerLudovic Courtès <ludo@gnu.org>2015-03-12 22:52:18 +0100
commit1d167b6e3779bcc1666b5c7d5ee802170c7023b6 (patch)
tree69f0d655ad0ab07ad68493c568b16c7ada1006a7
parentbe3ed52d7ba3038fe9350b43941613db1d10f032 (diff)
downloadguix-1d167b6e3779bcc1666b5c7d5ee802170c7023b6.tar
guix-1d167b6e3779bcc1666b5c7d5ee802170c7023b6.tar.gz
system: Add /etc/bashrc that loads bash-completion when available.
* gnu/system.scm (etc-directory)[profile]: Conditionally source /etc/bashrc. [bashrc]: New file. Source bash_completion.sh when available.
-rw-r--r--gnu/system.scm21
1 files changed, 21 insertions, 0 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index c43a8ede5c..0d510b623b 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -352,6 +352,8 @@ explicitly appear in OS."
e2fsprogs kbd
+ bash-completion
+
;; The packages below are also in %FINAL-INPUTS, so take them from
;; there to avoid duplication.
(map canonical-package
@@ -463,7 +465,25 @@ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"
# Allow Aspell to find dictionaries installed in the user profile.
export ASPELL_CONF=\"dict-dir $HOME/.guix-profile/lib/aspell\"
+
+if [ -n \"$BASH_VERSION\" -a -f /etc/bashrc ]
+then
+ # Load Bash-specific initialization code.
+ source /etc/bashrc
+fi
"))
+
+ (bashrc (text-file "bashrc" "\
+# Bash-specific initialization.
+
+# The 'bash-completion' package.
+if [ -f /run/current-system/profile/etc/profile.d/bash_completion.sh ]
+then
+ # Bash-completion sources ~/.bash_completion. It installs a dynamic
+ # completion loader that searches its own completion files as well
+ # as those in ~/.guix-profile and /run/current-system/profile.
+ source /run/current-system/profile/etc/profile.d/bash_completion.sh
+fi\n"))
(skel (skeleton-directory skeletons)))
(file-union "etc"
`(("services" ,#~(string-append #$net-base "/etc/services"))
@@ -477,6 +497,7 @@ export ASPELL_CONF=\"dict-dir $HOME/.guix-profile/lib/aspell\"
("skel" ,#~#$skel)
("shells" ,#~#$shells)
("profile" ,#~#$profile)
+ ("bashrc" ,#~#$bashrc)
("hosts" ,#~#$hosts-file)
("localtime" ,#~(string-append #$tzdata "/share/zoneinfo/"
#$timezone))