From 2b9e0a948be33ad53825b26fa22b89f13500a7c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 1 Nov 2015 17:55:26 +0100 Subject: [PATCH] services: Add 'udisks-service'. * gnu/services/desktop.scm (): New record type. (udisks-service-type): New variable. (udisks-service): New procedure. (%desktop-services): Use it. * doc/guix.texi (Desktop Services): Document it. --- doc/guix.texi | 7 +++++++ gnu/services/desktop.scm | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 1215c6c277..e8b79ecf98 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6744,6 +6744,13 @@ levels, with the given configuration settings. It implements the GNOME. @end deffn +@deffn {Scheme Procedure} udisks-service [#:udisks @var{udisks}] +Return a service for @uref{http://udisks.freedesktop.org/docs/latest/, +UDisks}, a @dfn{disk management} daemon that provides user interfaces with +notifications and ways to mount/unmount disks. Programs that talk to UDisks +include the @command{udisksctl} command, part of UDisks, and GNOME Disks. +@end deffn + @deffn {Scheme Procedure} colord-service [#:colord @var{colord}] Return a service that runs @command{colord}, a system service with a D-Bus interface to manage the color profiles of input and output devices such as diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index af4fe53dd0..f0ae1085cc 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -43,6 +43,7 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:export (upower-service + udisks-service colord-service geoclue-application %standard-geoclue-applications @@ -468,6 +469,37 @@ tool. See @uref{http://www.freedesktop.org/software/colord/, the colord web site} for more information." (service colord-service-type colord)) + +;;; +;;; UDisks. +;;; + +(define-record-type* + udisks-configuration make-udisks-configuration + udisks-configuration? + (udisks udisks-configuration-udisks + (default udisks))) + +(define udisks-service-type + (let ((udisks-package (lambda (config) + (list (udisks-configuration-udisks config))))) + (service-type (name 'udisks) + (extensions + (list (service-extension polkit-service-type + udisks-package) + (service-extension dbus-root-service-type + udisks-package) + (service-extension udev-service-type + udisks-package)))))) + +(define* (udisks-service #:key (udisks udisks)) + "Return a service for @uref{http://udisks.freedesktop.org/docs/latest/, +UDisks}, a @dfn{disk management} daemon that provides user interfaces with +notifications and ways to mount/unmount disks. Programs that talk to UDisks +include the @command{udisksctl} command, part of UDisks, and GNOME Disks." + (service udisks-service-type + (udisks-configuration (udisks udisks)))) + ;;; ;;; Elogind login and seat management service. @@ -662,6 +694,7 @@ when they log out." ;; The D-Bus clique. (avahi-service) (wicd-service) + (udisks-service) (upower-service) (colord-service) (geoclue-service)