From 4b1b941d172b263ac0da73010279ca4bc372315a Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Sat, 5 Mar 2022 11:47:21 +1100 Subject: [PATCH 75/81] gnu: Add plasma-desktop-service-type. * gnu/services/desktop.scm (plasma-desktop-service-type): New variable. * gnu/system/examples/desktop.tmpl (operating-system): [services]: Add plasma-desktop-service-type to provide all Desktop environments. diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 9b3eb12613..871f033105 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 Reza Alizadeh Majd ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2021, 2022 muradm +;;; Copyright © 2022 phodina ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,6 +55,7 @@ (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-plasma) #:use-module (gnu packages xfce) #:use-module (gnu packages avahi) #:use-module (gnu packages xdisorg) @@ -157,6 +159,11 @@ (define-module (gnu services desktop) polkit-wheel-service + plasma-desktop-configuration + plasma-desktop-configuration? + plasma-desktop-service + plasma-desktop-service-type + gnome-keyring-configuration gnome-keyring-configuration? gnome-keyring-service-type @@ -1441,6 +1448,37 @@ (define-deprecated (xfce-desktop-service #:key (config (service xfce-desktop-service-type config)) + + +;;; +;;; KDE Plasma desktop service. +;;; + +(define-record-type* plasma-desktop-configuration + make-plasma-desktop-configuration + plasma-desktop-configuration? + (plasma plasma-package + (default plasma))) + +(define (plasma-polkit-settings config) + "Return the list of Plasma dependencies that provide polkit actions and +rules." + (let ((plasma (plasma-package config))) + (map (lambda (name) + ((package-direct-input-selector name) plasma)) + '("powerdevil")))) + +(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)))) + (default-value (plasma-desktop-configuration)) + (description "Run Plasma desktop environment."))) + + ;;; ;;; Lxqt desktop service. ;;; diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 7055a8f92d..6c4f737c47 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -76,6 +76,7 @@ ;; NetworkManager, and more. (services (if (target-x86-64?) (append (list (service gnome-desktop-service-type) + (service plasma-desktop-service-type) (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration -- 2.37.2