aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-aux/hydra/demo-os.scm11
-rw-r--r--doc/guix.texi3
-rw-r--r--gnu-system.am1
-rw-r--r--gnu.scm46
4 files changed, 51 insertions, 10 deletions
diff --git a/build-aux/hydra/demo-os.scm b/build-aux/hydra/demo-os.scm
index 5f0fd6a6f8..863371291e 100644
--- a/build-aux/hydra/demo-os.scm
+++ b/build-aux/hydra/demo-os.scm
@@ -22,9 +22,10 @@
;;; 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)
@@ -33,12 +34,6 @@
(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))
diff --git a/doc/guix.texi b/doc/guix.texi
index 57c9e4e52a..edb1dceeab 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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
diff --git a/gnu-system.am b/gnu-system.am
index 84a5e939f4..314db3e536 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -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
index 0000000000..e573de6531
--- /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