guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/08: gnu: Add AccountsService service to desktop services.


From: Andy Wingo
Subject: 02/08: gnu: Add AccountsService service to desktop services.
Date: Fri, 25 Aug 2017 10:02:48 -0400 (EDT)

wingo pushed a commit to branch master
in repository guix.

commit 063c6082619d13ed10a448ad3d84025921c0fdea
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 22 14:20:48 2017 +0200

    gnu: Add AccountsService service to desktop services.
    
    * doc/guix.texi (Desktop Services): Add accountsservice-service.
    * gnu/services/desktop.scm (%accountsservice-activation):
    (accountsservice-service-type): New public variables.
    (%desktop-services): Add accountsservice-service.
---
 doc/guix.texi            | 29 +++++++++++++++++++++--------
 gnu/services/desktop.scm | 31 +++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 8 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 954ff90..e8b4d5e 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11572,14 +11572,14 @@ This is a list of services that builds upon 
@var{%base-services} and
 adds or adjusts services for a typical ``desktop'' setup.
 
 In particular, it adds a graphical login manager (@pxref{X Window,
address@hidden), screen lockers,
-a network management tool (@pxref{Networking
-Services, @code{wicd-service}}), energy and color management services,
-the @code{elogind} login and seat manager, the Polkit privilege service,
-the GeoClue location service, an NTP client (@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}).
address@hidden), screen lockers, a network management tool
+(@pxref{Networking Services, @code{wicd-service}}), energy and color
+management services, the @code{elogind} login and seat manager, the
+Polkit privilege service, the GeoClue location service, the
+AccountsService daemon that allows authorized users change system
+passwords, an NTP client (@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}
@@ -11722,6 +11722,19 @@ their default values are:
 @end table
 @end deffn
 
address@hidden {Scheme Procedure} accountsservice-service @
+       [#:accountsservice @var{accountsservice}]
+Return a service that runs AccountsService, a system service that can
+list available accounts, change their passwords, and so on.
+AccountsService integrates with PolicyKit to enable unprivileged users
+to acquire the capability to modify their system configuration.
address@hidden://www.freedesktop.org/wiki/Software/AccountsService/, the
+accountsservice web site} for more information.
+
+The @var{accountsservice} keyword argument is the @code{accountsservice}
+package to expose as a service.
address@hidden deffn
+
 @deffn {Scheme Procedure} polkit-service @
                          [#:polkit @var{polkit}]
 Return a service that runs the
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 50a561b..0509bd8 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -73,6 +73,9 @@
             elogind-service
             elogind-service-type
 
+            accountsservice-service-type
+            accountsservice-service
+
             gnome-desktop-configuration
             gnome-desktop-configuration?
             gnome-desktop-service
@@ -705,6 +708,33 @@ when they log out."
 
 
 ;;;
+;;; AccountsService service.
+;;;
+
+(define %accountsservice-activation
+  #~(begin
+      (use-modules (guix build utils))
+      (mkdir-p "/var/lib/AccountsService")))
+
+(define accountsservice-service-type
+  (service-type (name 'accountsservice)
+                (extensions
+                 (list (service-extension activation-service-type
+                                          (const %accountsservice-activation))
+                       (service-extension dbus-root-service-type list)
+                       (service-extension polkit-service-type list)))))
+
+(define* (accountsservice-service #:key (accountsservice accountsservice))
+  "Return a service that runs AccountsService, a system service that
+can list available accounts, change their passwords, and so on.
+AccountsService integrates with PolicyKit to enable unprivileged users to
+acquire the capability to modify their system configuration.
address@hidden://www.freedesktop.org/wiki/Software/AccountsService/, the
+accountsservice web site} for more information."
+  (service accountsservice-service-type accountsservice))
+
+
+;;;
 ;;; GNOME desktop service.
 ;;;
 
@@ -783,6 +813,7 @@ with the administrator's password."
          (wicd-service)
          (udisks-service)
          (upower-service)
+         (accountsservice-service)
          (colord-service)
          (geoclue-service)
          (polkit-service)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]