aboutsummaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/linux.scm10
-rw-r--r--gnu/system/os-config.tmpl5
-rw-r--r--gnu/system/shadow.scm16
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"))