;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Joshua S. Grant <jgrant@parenthetical.io>
;;;
;;; This file is part of GNU Guix.
;;;
;;; 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))
+(define-module (gnu)
+ #:export (use-package-modules
+ use-service-modules
+ use-system-modules))
;;; Commentary:
;;;
(begin
(define %public-modules
'((gnu system)
+ (gnu system mapped-devices)
(gnu system file-systems)
(gnu system grub) ; 'grub-configuration'
- (gnu system linux) ; 'base-pam-services'
+ (gnu system pam)
(gnu system shadow) ; 'user-account'
(gnu system linux-initrd)
+ (gnu system nss)
(gnu services)
(gnu services base)
(gnu packages)
- (gnu packages base)))
+ (gnu packages base)
+ (guix gexp))) ; so gexps can be used
(for-each (let ((i (module-public-interface (current-module))))
(lambda (m)
(module-use! i (resolve-interface m))))
%public-modules)))
+(define-syntax-rule (use-package-modules module ...)
+ (use-modules (gnu packages module) ...))
+
+(define-syntax-rule (use-service-modules module ...)
+ (use-modules (gnu services module) ...))
+
+(define-syntax-rule (use-system-modules module ...)
+ (use-modules (gnu system module) ...))
+
;;; gnu.scm ends here