From patchwork Sun Jul 23 08:47:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Z572 <873216071@qq.com> X-Patchwork-Id: 52143 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id AE8FF27BBE9; Sun, 23 Jul 2023 13:20:19 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,FREEMAIL_REPLYTO_END_DIGIT, MAILING_LIST_MULTI,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 292E027BBE2 for ; Sun, 23 Jul 2023 13:20:17 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qNY4B-0003KO-UR; Sun, 23 Jul 2023 08:20:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNY4A-0003KD-My for guix-patches@gnu.org; Sun, 23 Jul 2023 08:20:02 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qNY4A-0002q3-EH for guix-patches@gnu.org; Sun, 23 Jul 2023 08:20:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qNY4A-0007JW-9u for guix-patches@gnu.org; Sun, 23 Jul 2023 08:20:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#64798] [PATCH 207/209] services: Add Plasme desktop service. Resent-From: Zheng Junjie <873216071@qq.com> Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 23 Jul 2023 12:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64798 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 64798@debbugs.gnu.org Cc: Hartmut Goebel Received: via spool by 64798-submit@debbugs.gnu.org id=B64798.169011475128054 (code B ref 64798); Sun, 23 Jul 2023 12:20:02 +0000 Received: (at 64798) by debbugs.gnu.org; 23 Jul 2023 12:19:11 +0000 Received: from localhost ([127.0.0.1]:38973 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNY3K-0007IP-Ag for submit@debbugs.gnu.org; Sun, 23 Jul 2023 08:19:10 -0400 Received: from out162-62-57-87.mail.qq.com ([162.62.57.87]:47733) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <873216071@qq.com>) id 1qNY3G-0007Hq-6n for 64798@debbugs.gnu.org; Sun, 23 Jul 2023 08:19:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1690114437; bh=aYRIF+DoJs7fJ9W/kLRKKDSu2RkusXPrvqExZU2wblM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=zTo5LxB/UBnDs+RQN7p2UK0L0MgYbpU0725v+NblFToxTDHKfwWJFDcdWyIYMYouU fwlqXvE+7FOyHGku0EvAxosj7jpQ8T3leJO58+wG4mweohGlDDIlhzVLASwgJI89Mr KO1Kio6z1pAhmiYTqTv43TwCEeE0uczqZHN1j7T8= Received: from localhost.localdomain ([111.0.51.236]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 37312C61; Sun, 23 Jul 2023 20:13:51 +0800 X-QQ-mid: xmsmtpt1690114435txc5dey9v Message-ID: X-QQ-XMAILINFO: MpO6L0LObisWC0FfWjGgJK/H/RdbZyRW9f7O+X+OIgHt/WByOnrbvJHlFnbjLG MN7yaaBZC8SQTFtTW+w8hvAdmvqF0zVhcjdf9SZI/jWMAUY+lZh0Nkiw3GGgTrSJEuQF4XuJ/Wzn fl42kHdQfGQhzcr6voKZH++Qbsw5TJ2XhJ5DFcQqpMZpTY/AqPXxMkbCuslGF8rbOKdLFD389ECz XVEMoWIlustIhkPrgbNLkQfX1g17aghryAyZFLJb5fCda7IT2csAHlhekhTWYrrzYlm01rvmMipv fn4j0gAKOoU/CH50/ycS2Z4hnwgilNcm0DYLnPacY0FiDaX6qg0gCCGy2cYhSqP6voTi3eoJxcBk 6JgZ1G0FrrnkneQK5zBCdYahyR/F9aUyPxInP2NP1rV879vk9ekE5mg3oMCDi42ZO6rkJHLQgDVf pR6obT9Ro1EGab8pWrXsVIIbM5YtpUgusglqeZwks1ap0iiysEUHRJTan/d8zGPc1J5NVXqek7Ey +WD8U+zJcFpBEga0r31FPykPXJiuWHOfAR7sB/BUhlUKQ/RO/gURyfvLrC4vX/ofZHE9p3VQc5NM XJim1EHQywij5/yOHPre92cpTCEFIgaTGrmF2CJ6EG2l5kaGzSYxqxlecEPi3wk38KgLHKUgFN8i NX5GmQ7BI3gBKaoTXSOcC3ETT4bse8lS3dqd1Zb0qYEdA+/7tASvmHZqzxdEynPTZCOLrVvxyaNM 0nK6FupFougFguat63YIcXm8HJrYHM1DGK0LSuRBJs++7mXAsp2GZrp+GkHOKz/MIXWlF8pkDXEs HokH7awwfIcBmMOlnu3N/RWWzCIPlXIwmtzRjOMaXqkGnkiOwn2OiBgtNmpYqcCmxV2R/SBeCt6Z Ly115ZzADT8y7PbV/LXB6UgF9vYhrTLS4+HPhyNKjf5VkJyMTMyVdJGEYj5Y3xeJI9evkiN0Osb/ ZVy4o/pP3bi5yYU58EQs3+pFwEflvo8uOAkUxPvYTlvaUoEa+BUyRLJvUwLzII X-QQ-XMRINFO: MPJ6Tf5t3I/ycC2BItcBVIA= Date: Sun, 23 Jul 2023 16:47:07 +0800 X-OQ-MSGID: <0bccec3d9daf04b0b7c4a3d3841085b3c13bf1e5.1690099027.git.873216071@qq.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Zheng Junjie <873216071@qq.com> X-ACL-Warn: , Zheng Junjie via Guix-patches X-Patchwork-Original-From: Zheng Junjie via Guix-patches via From: Z572 <873216071@qq.com> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches From: Hartmut Goebel * gnu/services/desktop.scm (kde-desktop-service-type): New variable. () : New record type, (kde-desktop-configuration): New procedure. * doc/guix.texi (Desktop Services): Document this. Co-authored-by: Zheng Junjie <873216071@qq.com> --- doc/guix.texi | 18 ++++++++++++++ gnu/services/desktop.scm | 53 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 585baf358f..9be30bc2bf 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -116,6 +116,7 @@ Copyright @copyright{} 2023 Karl Hallsby@* Copyright @copyright{} 2023 Nathaniel Nicandro@* Copyright @copyright{} 2023 Tanguy Le Carrour@* +Copyright @copyright{} 2023 Zheng Junjie@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -23721,6 +23722,23 @@ Desktop Services @end table @end deftp +@defvar plasma-desktop-service-type +This is the type of the service that adds the @uref{https://kde.org/plasma-desktop/, +Plasma} desktop environment. Its value is a @code{plasma-desktop-configuration} +object (see below). + +This service adds the @code{plasma} package to the system profile. +@end defvar + +@deftp {Data Type} plasma-desktop-configuration +Configuration record for the Plasma desktop environment. + +@table @asis +@item @code{plasma} (default: @code{plasma}) +The Plasma package to use. +@end table +@end deftp + @defvar xfce-desktop-service-type This is the type of a service to run the @uref{Xfce, https://xfce.org/} desktop environment. Its value is an @code{xfce-desktop-configuration} object diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 01aec64bee..92989b5cf7 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2017, 2020, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2017 Nikita +;;; Copyright © 2017, 2019 Hartmut Goebel ;;; Copyright © 2018, 2020, 2022 Efraim Flashner ;;; Copyright © 2018, 2023 Ricardo Wurmus ;;; Copyright © 2017, 2019 Christopher Baines @@ -15,6 +16,7 @@ ;;; Copyright © 2021 Brice Waegeneire ;;; Copyright © 2021, 2022 muradm ;;; Copyright © 2023 Bruno Victal +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +57,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) @@ -150,6 +155,10 @@ (define-module (gnu services desktop) sugar-desktop-configuration? sugar-desktop-service-type + plasma-desktop-configuration + plasma-desktop-configuration? + plasma-desktop-service-type + xfce-desktop-configuration xfce-desktop-configuration? xfce-desktop-service @@ -1625,6 +1634,50 @@ (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))) + +(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)) + '("plasma-desktop" + "plasma-workspace" + "plasma-disks" + "kinfocenter" + "libksysguard" + "ktexteditor" + "powerdevil" + "plasma-firewall")))) + +;; see https://bugs.kde.org/show_bug.cgi?id=456210 +;; if `kde' no exits, fallback to `other', and then unlock lockscreen not work, +;; so add it. +(define (plasma-pam-services config) + (list (unix-pam-service "kde"))) + +(define plasma-desktop-service-type + (service-type + (name 'plasma-desktop) + (description "") + (default-value (plasma-desktop-configuration)) + (extensions + (list (service-extension polkit-service-type + plasma-polkit-settings) + (service-extension pam-root-service-type + plasma-pam-services) + (service-extension profile-service-type + (compose list + plasma-package)))))) + ;;; ;;; inputattach-service-type