Add (gnu) module.
authorLudovic Courtès <ludo@gnu.org>
Thu, 22 May 2014 21:20:12 +0000 (23:20 +0200)
committerLudovic Courtès <ludo@gnu.org>
Thu, 22 May 2014 21:24:13 +0000 (23:24 +0200)
* gnu.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/hydra/demo-os.scm: Use (gnu) and strip import list
  accordingly.
* doc/guix.texi (Using the Configuration System): Adjust example
  accordingly.

build-aux/hydra/demo-os.scm
doc/guix.texi
gnu-system.am
gnu.scm [new file with mode: 0644]

index 5f0fd6a..8633712 100644 (file)
 ;;; machine images that we build.
 ;;;
 
-(use-modules (gnu packages zile)
+(use-modules (gnu)
+
+             (gnu packages zile)
              (gnu packages xorg)
-             (gnu packages base)
              (gnu packages admin)
              (gnu packages guile)
              (gnu packages bash)
              (gnu packages tor)
              (gnu packages package-management)
 
-             (gnu system grub)                    ; 'grub-configuration'
-             (gnu system shadow)                  ; 'user-account'
-             (gnu system linux)                   ; 'base-pam-services'
-             (gnu system file-systems)            ; 'file-systems'
-
-             (gnu services base)
              (gnu services networking)
              (gnu services xorg))
 
index 57c9e4e..edb1dce 100644 (file)
@@ -3109,9 +3109,8 @@ Linux-Libre kernel, initial RAM disk, and boot loader looks like this:
 
 @findex operating-system
 @lisp
-(use-modules (gnu services base)   ; for '%base-services'
+(use-modules (gnu)   ; for 'user-account', '%base-services', etc.
              (gnu services ssh)    ; for 'lsh-service'
-             (gnu system shadow)   ; for 'user-account'
              (gnu packages base)   ; Coreutils, grep, etc.
              (gnu packages bash)   ; Bash
              (gnu packages admin)  ; dmd, Inetutils
index 84a5e93..314db3e 100644 (file)
@@ -22,6 +22,7 @@
 # binaries.
 
 GNU_SYSTEM_MODULES =                           \
+  gnu.scm                                      \
   gnu/packages.scm                             \
   gnu/packages/acct.scm                                \
   gnu/packages/acl.scm                         \
diff --git a/gnu.scm b/gnu.scm
new file mode 100644 (file)
index 0000000..e573de6
--- /dev/null
+++ b/gnu.scm
@@ -0,0 +1,46 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu))
+
+;;; Commentary:
+;;;
+;;; This composite module re-exports core parts the (gnu …) public modules.
+;;;
+;;; Code:
+
+(eval-when (eval load compile)
+  (begin
+    (define %public-modules
+      '((gnu system)
+        (gnu system file-systems)
+        (gnu system grub)                         ; 'grub-configuration'
+        (gnu system linux)                        ; 'base-pam-services'
+        (gnu system shadow)                       ; 'user-account'
+        (gnu system linux-initrd)
+        (gnu services)
+        (gnu services base)
+        (gnu packages)
+        (gnu packages base)))
+
+    (for-each (let ((i (module-public-interface (current-module))))
+                (lambda (m)
+                  (module-use! i (resolve-interface m))))
+              %public-modules)))
+
+;;; gnu.scm ends here