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 @@ (define-public plasma-workspace 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 @@ (define (plasma-polkit-settings config) "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 @@ (define plasma-desktop-service-type (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