guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

09/45: WIP services: Add KDE Plasme desktop service.


From: guix-commits
Subject: 09/45: WIP services: Add KDE Plasme desktop service.
Date: Sun, 31 Jan 2021 10:27:21 -0500 (EST)

htgoebel pushed a commit to branch wip-kde-plasma
in repository guix.

commit 0a1b740b824a4b5c9daa1f7c851bff719a194084
Author: Hartmut Goebel <h.goebel@crazy-compilers.com>
AuthorDate: Mon Jul 31 13:04:22 2017 +0200

    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.
---
 gnu/services/desktop.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 265cf9f..20371a3 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]