diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 5945f7a..910dc1f 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -19,17 +19,25 @@ (define-module (gnu services desktop) #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu services avahi) + #:use-module (gnu services xorg) + #:use-module (gnu services networking) + #:use-module (gnu services ssh) #:use-module (gnu system shadow) #:use-module (gnu packages glib) #:use-module (gnu packages admin) #:use-module (gnu packages gnome) + #:use-module (gnu packages avahi) + #:use-module (gnu packages wicd) #:use-module (guix monads) #:use-module (guix store) #:use-module (guix gexp) #:use-module (ice-9 match) #:export (dbus-service upower-service - colord-service)) + colord-service + %desktop-services)) ;;; Commentary: ;;; @@ -267,4 +275,26 @@ site} for more information." (shell #~(string-append #$shadow "/sbin/nologin"))))))))) +(define %desktop-services + ;; List of services typically useful for a "desktop" use case. + (cons* (slim-service) + + (avahi-service) + (wicd-service) + (upower-service) + (colord-service) + (dbus-service (list avahi wicd upower colord)) + + (ntp-service) + (lsh-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))) + %base-services))) + ;;; desktop.scm ends here diff --git a/gnu/system/os-config.tmpl b/gnu/system/os-config.tmpl index e14c957..9b0a77c 100644 --- a/gnu/system/os-config.tmpl +++ b/gnu/system/os-config.tmpl @@ -1,8 +1,8 @@ ;; This is an operating system configuration template. (use-modules (gnu)) -(use-service-modules xorg networking dbus avahi) -(use-package-modules xorg avahi) +(use-service-modules desktop) +(use-package-modules xorg xfce) (operating-system (host-name "antelope") @@ -36,12 +36,8 @@ (home-directory "/home/alice")))) ;; Globally-installed packages. - (packages (cons xterm %base-packages)) + (packages (cons* xterm xfce %base-packages)) ;; Add services to the baseline: the SLiM log-in manager ;; for Xorg sessions, a DHCP client, Avahi, and D-Bus. - (services (cons* (slim-service) - (dhcp-client-service) - (avahi-service) - (dbus-service (list avahi)) - %base-services))) + (services %desktop-services))