summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorZheng Junjie <zhengjunjie@iscas.ac.cn>2024-07-09 22:42:52 +0800
committerZheng Junjie <zhengjunjie@iscas.ac.cn>2024-07-18 10:45:34 +0800
commit06c1bdadeb4ce78308e0940533d1fc763cffb076 (patch)
treef397a1ff8996b3c691a2be4dfcefdf5bc5b1e9e7 /gnu
parentf96ddc6227cac801e8edf3096997176212809de0 (diff)
downloadguix-06c1bdadeb4ce78308e0940533d1fc763cffb076.tar.gz
services: plasma: Add dbus settings.
* gnu/services/desktop.scm (plasma-dbus-service): New procedure.
(plasma-desktop-service-type)[extensions]: Add It.

* gnu/packages/kde-plasma.scm (plasma-workspace)[arguments]: Add
remove-dbus-service phase.

Change-Id: Iadadbff7183bc4655e4cb9bc28cd85df19511949
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/kde-plasma.scm10
-rw-r--r--gnu/services/desktop.scm17
2 files changed, 26 insertions, 1 deletions
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 58c085ca6a..244fe49f23 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -2909,7 +2909,15 @@ fetchinitialplayertest|mprisdeclarativetest|mediakeystest|shelltest|\
 locationsrunnertest|testimagefinder|testimagelistmodel|\
 testpackageimagelistmodel|testimageproxymodel|testslidemodel|testimagefrontend|\
 dbusservicewatchertest|klippertest|keystatetest|lockedtest|tst_triangleFilter|\
-testimagebackend)")))))))
+testimagebackend)"))))
+               ;; share/dbus-1/system-services have same name file
+               ;; when dbus-root-service-type merge it, wail report
+               ;; "file exists".
+               (add-after 'install 'remove-dbus-service
+                 (lambda _
+                   (delete-file
+                    (string-append
+                     #$output "/share/dbus-1/services/org.kde.fontinst.service")))))))
     (home-page "https://invent.kde.org/plasma/plasma-workspace")
     (synopsis "Plasma workspace components")
     (description
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index d0b9728d4a..2b64c57804 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1785,6 +1785,21 @@ rules."
            "powerdevil"
            "plasma-firewall"))))
 
+(define (plasma-dbus-service config)
+  "Return the list of KDE Plasma dependencies that provide D-Bus services."
+  (let ((plasma-plasma (plasma-package config)))
+    (map (lambda (name)
+           ((package-direct-input-selector name) plasma-plasma))
+         '("plasma-desktop"
+           "plasma-workspace"
+           "kactivitymanagerd"
+           "plasma-disks"
+           "kinfocenter"
+           "libksysguard"
+           "ktexteditor"
+           "powerdevil"
+           "plasma-firewall"))))
+
 ;; see https://bugs.kde.org/show_bug.cgi?id=456210
 ;; if `kde' no exits, fallback to `other', and then unlock lockscreen not work,
 ;; so add it.
@@ -1799,6 +1814,8 @@ rules."
    (extensions
     (list (service-extension polkit-service-type
                              plasma-polkit-settings)
+          (service-extension dbus-root-service-type
+                             plasma-dbus-service)
           (service-extension pam-root-service-type
                              plasma-pam-services)
           (service-extension profile-service-type