From 548d4c139561b2da769561905f3f8134a11bb2d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 31 May 2014 22:01:05 +0200 Subject: [PATCH] system: Add 'issue' field. * gnu/system.scm ()[issue]: New field. (%default-issue): New variable. (etc-directory): Add #:issue parameter and honor it. (operating-system-etc-directory): Adjust call accordingly. * build-aux/hydra/demo-os.scm: Add 'issue' field. --- build-aux/hydra/demo-os.scm | 13 +++++++++++++ gnu/system.scm | 20 +++++++++++--------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/build-aux/hydra/demo-os.scm b/build-aux/hydra/demo-os.scm index 863371291e..30601556ac 100644 --- a/build-aux/hydra/demo-os.scm +++ b/build-aux/hydra/demo-os.scm @@ -41,6 +41,7 @@ (host-name "gnu") (timezone "Europe/Paris") (locale "en_US.UTF-8") + (bootloader (grub-configuration (device "/dev/sda"))) (file-systems @@ -52,6 +53,7 @@ (type "dummy")) ;; %fuse-control-file-system ; needs fuse.ko %binary-format-file-system)) + (users (list (user-account (name "guest") (group "wheel") @@ -67,6 +69,17 @@ (name "users") (id 100) (members '("guest"))))) + + (issue " +This is an alpha preview of the GNU system. Welcome. + +This image features the GNU Guix package manager, which was used to +build it (http://www.gnu.org/software/guix/). The init system is +GNU dmd (http://www.gnu.org/software/dmd/). + +You can log in as 'guest' or 'root' with no password. +") + (services (cons* (slim-service #:auto-login? #t #:default-user "guest") diff --git a/gnu/system.scm b/gnu/system.scm index 48946af7d9..d05ec60b29 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -51,6 +51,7 @@ operating-system-initrd operating-system-users operating-system-groups + operating-system-issue operating-system-packages operating-system-timezone operating-system-locale @@ -92,6 +93,8 @@ (skeletons operating-system-skeletons ; list of name/monadic value (default (default-skeletons))) + (issue operating-system-issue ; string + (default %default-issue)) (packages operating-system-packages ; list of (PACKAGE OUTPUT...) (default (list coreutils ; or just PACKAGE @@ -211,8 +214,14 @@ explicitly appear in OS." ;;; /etc. ;;; +(define %default-issue + ;; Default contents for /etc/issue. + " +This is the GNU system. Welcome.\n") + (define* (etc-directory #:key (locale "C") (timezone "Europe/Paris") + (issue "Hello!\n") (skeletons '()) (pam-services '()) (profile "/run/current-system/profile") @@ -227,15 +236,7 @@ explicitly appear in OS." /bin/sh /run/current-system/profile/bin/sh /run/current-system/profile/bin/bash\n")) - (issue (text-file "issue" " -This is an alpha preview of the GNU system. Welcome. - -This image features the GNU Guix package manager, which was used to -build it (http://www.gnu.org/software/guix/). The init system is -GNU dmd (http://www.gnu.org/software/dmd/). - -You can log in as 'guest' or 'root' with no password. -")) + (issue (text-file "issue" issue)) ;; TODO: Generate bashrc from packages' search-paths. (bashrc (text-file* "bashrc" " @@ -309,6 +310,7 @@ alias ll='ls -l' (skeletons (operating-system-skeletons os))) (etc-directory #:pam-services pam-services #:skeletons skeletons + #:issue (operating-system-issue os) #:locale (operating-system-locale os) #:timezone (operating-system-timezone os) #:sudoers (operating-system-sudoers os)