summary refs log tree commit diff
path: root/gnu/system.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-12-09 23:45:27 +0100
committerLudovic Courtès <ludo@gnu.org>2013-12-10 00:24:02 +0100
commit4f62d8d6c74d1d9cec049cb5e22452b8d78655f5 (patch)
tree8d0f132041280fabc3711138c76cb91e228703a5 /gnu/system.scm
parent78ed003811a38a7a3de56316755a2808b7d87e45 (diff)
downloadguix-4f62d8d6c74d1d9cec049cb5e22452b8d78655f5.tar.gz
gnu: Allow a plain list of packages in 'operating-system'.
* gnu/system.scm (union): Allow (PACKAGE OUTPUT), (PACKAGE), and
  PACKAGE.
  (<operating-system>)[packages]: Make the default a list of package?
  objects.
* gnu/system/vm.scm (%demo-operating-system): Likewise.  Add a few
  packages.
Diffstat (limited to 'gnu/system.scm')
-rw-r--r--gnu/system.scm18
1 files changed, 10 insertions, 8 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index c6b67a7a1c..642e4b275c 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -78,12 +78,14 @@
                           (members '("guest"))))))
 
   (packages operating-system-packages             ; list of (PACKAGE OUTPUT...)
-            (default `(("coreutils" ,coreutils)
-                       ("grep" ,grep)
-                       ("guile" ,guile)
-                       ("bash" ,bash)
-                       ("dmd" ,(@ (gnu packages dmd) dmd))
-                       ("guix" ,guix))))
+            (default (list coreutils              ; or just PACKAGE
+                           grep
+                           sed
+                           findutils
+                           guile
+                           bash
+                           (@ (gnu packages dmd) dmd)
+                           guix)))
 
   (timezone operating-system-timezone)            ; string
   (locale   operating-system-locale)              ; string
@@ -134,11 +136,11 @@ input tuples."
   (mlet %store-monad
       ((inputs (sequence %store-monad
                          (map (match-lambda
-                               ((name (? package? p))
+                               ((or ((? package? p)) (? package? p))
                                 (mlet %store-monad
                                     ((drv (package->derivation p system)))
                                   (return `(,name ,drv))))
-                               ((name (? package? p) output)
+                               (((? package? p) output)
                                 (mlet %store-monad
                                     ((drv (package->derivation p system)))
                                   (return `(,name ,drv ,output))))