summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-02-17 00:41:15 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-02-25 14:46:55 -0500
commitdd31263eb4cd42188c1d4685f03bb075c5f73469 (patch)
tree685a2312ae816c6f02da24a4d4403568379e3ef0
parentabadd0f81f71284ba963084ab17c2e72def3afcd (diff)
downloadguix-dd31263eb4cd42188c1d4685f03bb075c5f73469.tar.gz
services: gnome-desktop-service-type: Extend setuid-program-service-type.
* gnu/services/desktop.scm (gnome-setuid-programs): New variable.
(gnome-desktop-service-type): Extend setuid-program-service-type with it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-rw-r--r--gnu/services/desktop.scm10
1 files changed, 10 insertions, 0 deletions
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 5ddfbb9e53..2034b3d099 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1379,6 +1379,14 @@ rules."
                       ;; in GNOME Boxes.
                       ("gnome-boxes" "spice-gtk")))))
 
+(define (gnome-setuid-programs config)
+  "Return the list of GNOME setuid programs."
+  (let* ((gnome (gnome-desktop-configuration-gnome config))
+         (spice-gtk (gnome-package gnome '("gnome-boxes" "spice-gtk"))))
+    (map file-like->setuid-program
+         (list (file-append spice-gtk
+                            "/libexec/spice-client-glib-usb-acl-helper")))))
+
 (define gnome-desktop-service-type
   (service-type
    (name 'gnome-desktop)
@@ -1387,6 +1395,8 @@ rules."
                              gnome-udev-rules)
           (service-extension polkit-service-type
                              gnome-polkit-settings)
+          (service-extension setuid-program-service-type
+                             gnome-setuid-programs)
           (service-extension profile-service-type
                              (compose list gnome-desktop-configuration-gnome))))
    (default-value (gnome-desktop-configuration))