summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-31 22:01:05 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-31 22:01:05 +0200
commit548d4c139561b2da769561905f3f8134a11bb2d4 (patch)
tree7e8e5e600a98b1c6a4cb3aa5353bdff643189cf0
parent52322163ac4b730a62af67549583d89ee496aeff (diff)
downloadguix-548d4c139561b2da769561905f3f8134a11bb2d4.tar.gz
system: Add 'issue' field.
* gnu/system.scm (<operating-system>)[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.
-rw-r--r--build-aux/hydra/demo-os.scm13
-rw-r--r--gnu/system.scm20
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)