From 0a1b740b824a4b5c9daa1f7c851bff719a194084 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 31 Jul 2017 13:04:22 +0200 Subject: WIP services: Add KDE Plasme desktop service. * gnu/services/desktop.scm (, kde-desktop-service-type): New variables. (kde-desktop-service): New public variable. --- gnu/services/desktop.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) 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 ;;; Copyright © 2017, 2020 Maxim Cournoyer ;;; Copyright © 2017 Nikita +;;; Copyright © 2017, 2019 Hartmut Goebel ;;; Copyright © 2018, 2020 Efraim Flashner ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2017, 2019 Christopher Baines @@ -47,6 +48,9 @@ (define-module (gnu services desktop) #: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 @@ (define-module (gnu services desktop) 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 @@ (define enlightenment-desktop-service-type thumbnails and makes setuid the programs which enlightenment needs to function as expected."))) +;;; +;;; KDE Plasma desktop service. +;;; + +(define-record-type* 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 -- cgit v1.2.3