diff options
Diffstat (limited to 'gnu/system')
-rw-r--r-- | gnu/system/linux.scm | 10 | ||||
-rw-r--r-- | gnu/system/os-config.tmpl | 5 | ||||
-rw-r--r-- | gnu/system/shadow.scm | 16 |
3 files changed, 28 insertions, 3 deletions
diff --git a/gnu/system/linux.scm b/gnu/system/linux.scm index 8cddedf28e..aaaa8c6dee 100644 --- a/gnu/system/linux.scm +++ b/gnu/system/linux.scm @@ -100,13 +100,19 @@ dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE." services)))) (define builder #~(begin - (use-modules (ice-9 match)) + (use-modules (ice-9 match) + (srfi srfi-1)) (mkdir #$output) (for-each (match-lambda ((name file) (symlink file (string-append #$output "/" name)))) - '#$(zip names files)))) + + ;; Since <pam-service> objects cannot be compared with + ;; 'equal?' since they contain gexps, which contain + ;; closures, use 'delete-duplicates' on the build-side + ;; instead. See <http://bugs.gnu.org/20037>. + (delete-duplicates '#$(zip names files))))) (gexp->derivation "pam.d" builder))) diff --git a/gnu/system/os-config.tmpl b/gnu/system/os-config.tmpl index 07b099531e..e14c95733a 100644 --- a/gnu/system/os-config.tmpl +++ b/gnu/system/os-config.tmpl @@ -2,7 +2,7 @@ (use-modules (gnu)) (use-service-modules xorg networking dbus avahi) -(use-package-modules avahi) +(use-package-modules xorg avahi) (operating-system (host-name "antelope") @@ -35,6 +35,9 @@ "audio" "video")) (home-directory "/home/alice")))) + ;; Globally-installed packages. + (packages (cons xterm %base-packages)) + ;; Add services to the baseline: the SLiM log-in manager ;; for Xorg sessions, a DHCP client, Avahi, and D-Bus. (services (cons* (slim-service) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 4a9580a672..16b9e4b555 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -120,6 +120,22 @@ # Honor per-interactive-shell startup file if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n")) (bashrc (text-file "bashrc" "\ +# Bash initialization for interactive non-login shells and +# for remote shells (info \"(bash) Bash Startup Files\"). + +# Export 'SHELL' to child processes. Programs such as 'screen' +# honor it and otherwise use /bin/sh. +export SHELL + +if [ -n \"$SSH_CLIENT\" -a -z \"`type -P cat`\" ] +then + # We are being invoked from a non-interactive SSH session + # (as in \"ssh host command\") but 'cat' cannot be found + # in $PATH. Source /etc/profile so we get $PATH and other + # essential variables. + source /etc/profile +fi + PS1='\\u@\\h \\w\\$ ' alias ls='ls -p --color' alias ll='ls -l'\n")) |