diff options
author | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2017-07-31 13:04:22 +0200 |
---|---|---|
committer | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2021-01-31 15:32:12 +0100 |
commit | 0a1b740b824a4b5c9daa1f7c851bff719a194084 (patch) | |
tree | 65e11a3cfa59eee4eaa201c156d8a487f0639366 | |
parent | cd6b3f8b500f59cb6678d9a0975d8cf8b2805f1a (diff) | |
download | guix-0a1b740b824a4b5c9daa1f7c851bff719a194084.tar.gz |
WIP services: Add KDE Plasme desktop service.
* gnu/services/desktop.scm (<kde-desktop-configuration>, kde-desktop-service-type): New variables. (kde-desktop-service): New public variable.
-rw-r--r-- | gnu/services/desktop.scm | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 265cf9f35f..20371a3389 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2017, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2017 Nikita <nikita@n0.is> +;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019 Christopher Baines <mail@cbaines.net> @@ -47,6 +48,9 @@ #:use-module (gnu packages cups) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gnome) + #:use-module (gnu packages kde) + #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages kde-plasma) #:use-module (gnu packages xfce) #:use-module (gnu packages avahi) #:use-module (gnu packages xdisorg) @@ -133,6 +137,11 @@ lxqt-desktop-configuration? lxqt-desktop-service-type + plasma-desktop-configuration + plasma-desktop-configuration? + plasma-desktop-service + plasma-desktop-service-type + xfce-desktop-configuration xfce-desktop-configuration? xfce-desktop-service @@ -1106,6 +1115,51 @@ profile, and extends dbus with the ability for @code{efl} to generate thumbnails and makes setuid the programs which enlightenment needs to function as expected."))) +;;; +;;; KDE Plasma desktop service. +;;; + +(define-record-type* <plasma-desktop-configuration> plasma-desktop-configuration + make-plasma-desktop-configuration + plasma-desktop-configuration + (plasma-package plasma-package (default plasma-workspace))) + +(define (plasma-polkit-settings config) + "Return the list of KDE Plasma dependencies that provide polkit actions and +rules." + (let ((plasma-plasma (plasma-package config))) + (map (lambda (name) + ((package-direct-input-selector name) plasma-plasma)) + '(;;"kde-settings-daemon" + ;;"kde-control-center" + "systemsettings" + "plasma-pa" + "plasma-nm" + "plasma-desktop" + ;;"oxygen-fonts" + ;; kinit klauncher kded kcminit ksmsettings kstartupconfig5 + ;; qdbus + ;; Magia task-plasma5-minimal adds: ark dbus-x11 dolphin gwenview + ;; kcalc khelpcenter kwalletmanager kwrite oxygen-fonts + ;; phonon4qt5-gstreamer phonon4qt5-vlc plasma-desktop plasma-pa + ;; plasma-workspace sddm systemsettings task-x11 xsettings-kde + )))) + +(define plasma-desktop-service-type + (service-type + (name 'plasma-desktop) + (extensions + (list ;;(service-extension polkit-service-type + ;; plasma-polkit-settings) + (service-extension profile-service-type + (compose list + plasma-package)))))) + +(define* (plasma-desktop-service #:key (config (plasma-desktop-configuration))) + "Return a service that adds the @code{plasma} package to the system profile, +and extends polkit with the actions from @code{kde-settings-daemon}." + (service plasma-desktop-service-type config)) + ;;; ;;; inputattach-service-type |