summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-04 14:59:24 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-04 18:15:50 +0200
commit6f436c54d6d9698e62639de31a845cd9b9167423 (patch)
tree24e4d42578e85a24bb5493dfe23a5e04bacab2eb /gnu
parent39d4fde3bfd27607980eb58f0b17b837953b1e4c (diff)
downloadguix-6f436c54d6d9698e62639de31a845cd9b9167423.tar.gz
system: Define '%base-packages' and use it.
* gnu/system.scm (<operating-system>)[packages]: Change default value to
  %BASE-PACKAGES.
  (%base-packages): New variable.
* gnu/system/install.scm (installation-os): Use it when defining the
  'packages' field.
* doc/guix.texi (Using the Configuration System): Use %BASE-PACKAGES in
  example.  Remove now unneeded module imports.  Explain this.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/system.scm27
-rw-r--r--gnu/system/install.scm15
2 files changed, 20 insertions, 22 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index ec54b8baf0..7b8e3890d7 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -28,6 +28,9 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages package-management)
+  #:use-module (gnu packages which)
+  #:use-module (gnu packages less)
+  #:use-module (gnu packages zile)
   #:use-module (gnu services)
   #:use-module (gnu services dmd)
   #:use-module (gnu services base)
@@ -59,7 +62,9 @@
 
             operating-system-derivation
             operating-system-profile
-            operating-system-grub.cfg))
+            operating-system-grub.cfg
+
+            %base-packages))
 
 ;;; Commentary:
 ;;;
@@ -97,15 +102,7 @@
          (default %default-issue))
 
   (packages operating-system-packages             ; list of (PACKAGE OUTPUT...)
-            (default (list coreutils              ; or just PACKAGE
-                           grep
-                           sed
-                           findutils
-                           guile
-                           bash
-                           (@ (gnu packages dmd) dmd)
-                           guix
-                           tzdata)))
+            (default %base-packages))             ; or just PACKAGE
 
   (timezone operating-system-timezone)            ; string
   (locale   operating-system-locale)              ; string
@@ -216,6 +213,16 @@ explicitly appear in OS."
 ;;; /etc.
 ;;;
 
+(define %base-packages
+  ;; Default set of packages globally visible.  It should include anything
+  ;; required for basic administrator tasks.
+  (list bash coreutils findutils grep sed
+        procps psmisc less zile
+        guile-final (@ (gnu packages admin) dmd) guix
+        util-linux inetutils isc-dhcp
+        net-tools                        ; XXX: remove when Inetutils suffices
+        module-init-tools kbd))
+
 (define %default-issue
   ;; Default contents for /etc/issue.
   "
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 8c67b73de6..c69e51b2b5 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -20,13 +20,8 @@
   #:use-module (gnu)
   #:use-module (guix gexp)
   #:use-module (guix monads)
-  #:use-module (gnu packages bash)
-  #:use-module (gnu packages less)
   #:use-module (gnu packages linux)
-  #:use-module (gnu packages guile)
-  #:use-module (gnu packages admin)
   #:use-module (gnu packages package-management)
-  #:use-module (gnu packages zile)
   #:use-module (gnu packages disk)
   #:use-module (gnu packages texinfo)
   #:export (installation-os))
@@ -137,13 +132,9 @@ Use Alt-F2 for documentation.
      ;; Explicitly allow for empty passwords.
      (base-pam-services #:allow-empty-passwords? #t))
 
-    (packages (list bash coreutils findutils grep sed
-                    procps psmisc less texinfo-4
-                    guile-2.0 dmd guix util-linux
-                    inetutils isc-dhcp net-tools
-                    parted fdisk ddrescue
-                    module-init-tools kbd
-                    zile))))
+    (packages (cons* texinfo-4                ; for the standalone Info reader
+                     parted fdisk ddrescue
+                     %base-packages))))
 
 ;; Return it here so 'guix system' can consume it directly.
 installation-os