summaryrefslogtreecommitdiff
path: root/gnu/services/dbus.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services/dbus.scm')
-rw-r--r--gnu/services/dbus.scm23
1 files changed, 18 insertions, 5 deletions
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index e7b3dac166..d2daf60497 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <[email protected]>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <[email protected]>
;;; Copyright © 2015 Sou Bunnbu <[email protected]>
;;; Copyright © 2021 Maxime Devos <[email protected]>
;;; Copyright © 2021 Brice Waegeneire <[email protected]>
@@ -50,7 +50,7 @@
(define-record-type* <dbus-configuration>
dbus-configuration make-dbus-configuration
dbus-configuration?
- (dbus dbus-configuration-dbus ;<package>
+ (dbus dbus-configuration-dbus ;file-like
(default dbus))
(services dbus-configuration-services ;list of <package>
(default '())))
@@ -106,6 +106,10 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
(define (services->sxml services)
;; Return the SXML 'includedir' clauses for DIRS.
`(busconfig
+ ;; Increase this timeout to 60 seconds to work around race-y
+ ;; failures such as <https://issues.guix.gnu.org/52051> on slow
+ ;; computers with slow I/O.
+ (limit (@ (name "auth_timeout")) "60000")
(servicehelper "/run/setuid-programs/dbus-daemon-launch-helper")
;; First, the '.service' files of services subject to activation.
@@ -300,11 +304,20 @@ tuples, are all set as environment variables when the bus daemon launches it."
(define-record-type* <polkit-configuration>
polkit-configuration make-polkit-configuration
polkit-configuration?
- (polkit polkit-configuration-polkit ;<package>
- (default polkit))
- (actions polkit-configuration-actions ;list of <package>
+ (polkit polkit-configuration-polkit ;file-like
+ (default %default-polkit))
+ (actions polkit-configuration-actions ;list of file-like
(default '())))
+(define %default-polkit
+ ;; The default polkit package.
+ (let-system (system target)
+ ;; Since mozjs depends on Rust, which is currently x86_64-only, use
+ ;; polkit-duktape on other systems.
+ (if (string-prefix? "x86_64-" (or target system))
+ polkit-mozjs
+ polkit-duktape)))
+
(define %polkit-accounts
(list (user-group (name "polkitd") (system? #t))
(user-account