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
This commit is contained in:
Zheng Junjie 2024-07-09 22:42:52 +08:00
parent f96ddc6227
commit 06c1bdadeb
No known key found for this signature in database
GPG key ID: 3B5AA993E1A2DFF0
2 changed files with 26 additions and 1 deletions

View file

@ -2909,7 +2909,15 @@ (define-public plasma-workspace
locationsrunnertest|testimagefinder|testimagelistmodel|\ locationsrunnertest|testimagefinder|testimagelistmodel|\
testpackageimagelistmodel|testimageproxymodel|testslidemodel|testimagefrontend|\ testpackageimagelistmodel|testimageproxymodel|testslidemodel|testimagefrontend|\
dbusservicewatchertest|klippertest|keystatetest|lockedtest|tst_triangleFilter|\ 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") (home-page "https://invent.kde.org/plasma/plasma-workspace")
(synopsis "Plasma workspace components") (synopsis "Plasma workspace components")
(description (description

View file

@ -1785,6 +1785,21 @@ (define (plasma-polkit-settings config)
"powerdevil" "powerdevil"
"plasma-firewall")))) "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 ;; see https://bugs.kde.org/show_bug.cgi?id=456210
;; if `kde' no exits, fallback to `other', and then unlock lockscreen not work, ;; if `kde' no exits, fallback to `other', and then unlock lockscreen not work,
;; so add it. ;; so add it.
@ -1799,6 +1814,8 @@ (define plasma-desktop-service-type
(extensions (extensions
(list (service-extension polkit-service-type (list (service-extension polkit-service-type
plasma-polkit-settings) plasma-polkit-settings)
(service-extension dbus-root-service-type
plasma-dbus-service)
(service-extension pam-root-service-type (service-extension pam-root-service-type
plasma-pam-services) plasma-pam-services)
(service-extension profile-service-type (service-extension profile-service-type