diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 888e446dc0..7f37b3da00 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2015 Alex Kost +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -884,6 +885,9 @@ (define %base-services ;; The LVM2 rules are needed as soon as LVM2 or the device-mapper is ;; used, so enable them by default. The FUSE and ALSA rules are ;; less critical, but handy. + ;; + ;; XXX Keep this in sync with the 'udev-service' call in + ;; %desktop-services. (udev-service #:rules (list lvm2 fuse alsa-utils crda))))) ;;; base.scm ends here diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 1bf3db053b..6017449194 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2015 Andy Wingo +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,8 @@ (define-module (gnu services desktop) #:use-module (gnu packages avahi) #:use-module (gnu packages wicd) #:use-module (gnu packages polkit) + #:use-module ((gnu packages linux) + #:select (lvm2 fuse alsa-utils crda)) #:use-module (guix monads) #:use-module (guix records) #:use-module (guix store) @@ -593,12 +596,24 @@ (define %desktop-services (ntp-service) (map (lambda (mservice) - ;; Provide an nscd ready to use nss-mdns. (mlet %store-monad ((service mservice)) - (if (memq 'nscd (service-provision service)) - (nscd-service (nscd-configuration) - #:name-services (list nss-mdns)) - mservice))) + (cond + ;; Provide an nscd ready to use nss-mdns. + ((memq 'nscd (service-provision service)) + (nscd-service (nscd-configuration) + #:name-services (list nss-mdns))) + + ;; Add more rules to udev-service. + ;; + ;; XXX Keep this in sync with the 'udev-service' call in + ;; %base-services. Here we intend only to add 'upower', + ;; 'colord', and 'elogind'. + ((memq 'udev (service-provision service)) + (udev-service #:rules + (list lvm2 fuse alsa-utils crda + upower colord elogind))) + + (else mservice)))) %base-services))) ;;; desktop.scm ends here