emacs: Rewrite scheme side in a functional manner.
[jackhill/guix/guix.git] / gnu.scm
CommitLineData
c9384945
LC
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu))
20
21;;; Commentary:
22;;;
23;;; This composite module re-exports core parts the (gnu …) public modules.
24;;;
25;;; Code:
26
27(eval-when (eval load compile)
28 (begin
29 (define %public-modules
30 '((gnu system)
31 (gnu system file-systems)
32 (gnu system grub) ; 'grub-configuration'
33 (gnu system linux) ; 'base-pam-services'
34 (gnu system shadow) ; 'user-account'
35 (gnu system linux-initrd)
36 (gnu services)
37 (gnu services base)
38 (gnu packages)
bde7eb8f
LC
39 (gnu packages base)
40 (guix gexp))) ; so gexps can be used
c9384945
LC
41
42 (for-each (let ((i (module-public-interface (current-module))))
43 (lambda (m)
44 (module-use! i (resolve-interface m))))
45 %public-modules)))
46
47;;; gnu.scm ends here