mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
services: Add '%desktop-services'.
* gnu/services/desktop.scm (%desktop-services): New variable. * doc/guix.texi (Desktop Services): Document it.
This commit is contained in:
parent
a0dac7a01f
commit
4467be213a
2 changed files with 54 additions and 1 deletions
|
@ -5005,6 +5005,29 @@ usually useful in the context of a ``desktop'' setup---that is, on a
|
||||||
machine running a graphical display server, possibly with graphical user
|
machine running a graphical display server, possibly with graphical user
|
||||||
interfaces, etc.
|
interfaces, etc.
|
||||||
|
|
||||||
|
To simplify things, the module defines a variable containing the set of
|
||||||
|
services that users typically expect on a machine with a graphical
|
||||||
|
environment and networking:
|
||||||
|
|
||||||
|
@defvr {Scheme Variable} %desktop-services
|
||||||
|
This is a list of services that builds upon @var{%base-services} and
|
||||||
|
adds or adjust services for a typical ``desktop'' setup.
|
||||||
|
|
||||||
|
In particular, it adds a graphical login manager (@pxref{X Window,
|
||||||
|
@code{slim-service}}), a network management tool (@pxref{Networking
|
||||||
|
Services, @code{wicd-service}}), energy and color management services,
|
||||||
|
an NTP client and an SSH server (@pxref{Networking Services}), the Avahi
|
||||||
|
daemon, and has the name service switch service configured to be able to
|
||||||
|
use @code{nss-mdns} (@pxref{Name Service Switch, mDNS}).
|
||||||
|
@end defvr
|
||||||
|
|
||||||
|
The @var{%desktop-services} variable can be used as the @code{services}
|
||||||
|
field of an @code{operating-system} declaration (@pxref{operating-system
|
||||||
|
Reference, @code{services}}).
|
||||||
|
|
||||||
|
The actual service definitions provided by @code{(gnu services desktop)}
|
||||||
|
are described below.
|
||||||
|
|
||||||
@deffn {Monadic Procedure} dbus-service @var{services} @
|
@deffn {Monadic Procedure} dbus-service @var{services} @
|
||||||
[#:dbus @var{dbus}]
|
[#:dbus @var{dbus}]
|
||||||
Return a service that runs the ``system bus'', using @var{dbus}, with
|
Return a service that runs the ``system bus'', using @var{dbus}, with
|
||||||
|
|
|
@ -19,17 +19,25 @@
|
||||||
|
|
||||||
(define-module (gnu services desktop)
|
(define-module (gnu services desktop)
|
||||||
#:use-module (gnu services)
|
#: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 system shadow)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages admin)
|
#:use-module (gnu packages admin)
|
||||||
#:use-module (gnu packages gnome)
|
#:use-module (gnu packages gnome)
|
||||||
|
#:use-module (gnu packages avahi)
|
||||||
|
#:use-module (gnu packages wicd)
|
||||||
#:use-module (guix monads)
|
#:use-module (guix monads)
|
||||||
#:use-module (guix store)
|
#:use-module (guix store)
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:export (dbus-service
|
#:export (dbus-service
|
||||||
upower-service
|
upower-service
|
||||||
colord-service))
|
colord-service
|
||||||
|
%desktop-services))
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;;
|
;;;
|
||||||
|
@ -267,4 +275,26 @@ (define* (colord-service #:key (colord colord))
|
||||||
(shell
|
(shell
|
||||||
#~(string-append #$shadow "/sbin/nologin")))))))))
|
#~(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
|
;;; desktop.scm ends here
|
||||||
|
|
Loading…
Reference in a new issue