summary refs log tree commit diff
path: root/gnu/services
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-11-27 22:29:00 +0100
committerLudovic Courtès <ludo@gnu.org>2021-11-27 23:06:17 +0100
commit72b0c5a3f221afb824772c4969e85d190a8a3205 (patch)
treee9102b19bffed467f4035dd8c5e9ba9be7759c91 /gnu/services
parent26ebd111bcefc5d84cab545724544a3e57b4a558 (diff)
downloadguix-72b0c5a3f221afb824772c4969e85d190a8a3205.tar.gz
services: polkit: Choose between polkit-mozjs and polkit-duktape.
* gnu/services/dbus.scm (%default-polkit): New variable.
(<polkit-configuration>)[polkit]: Default to it.
Diffstat (limited to 'gnu/services')
-rw-r--r--gnu/services/dbus.scm13
1 files changed, 11 insertions, 2 deletions
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index e7b3dac166..a895c6374b 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 <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
@@ -301,10 +301,19 @@ tuples, are all set as environment variables when the bus daemon launches it."
   polkit-configuration make-polkit-configuration
   polkit-configuration?
   (polkit   polkit-configuration-polkit           ;<package>
-            (default polkit))
+            (default %default-polkit))
   (actions  polkit-configuration-actions          ;list of <package>
             (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