From patchwork Fri Jul 22 11:45:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: muradm X-Patchwork-Id: 40816 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 2F86727BBEA; Fri, 22 Jul 2022 12:46:31 +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.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED 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 9864827BBE9 for ; Fri, 22 Jul 2022 12:46:30 +0100 (BST) Received: from localhost ([::1]:59660 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oEr6z-00015f-Nb for patchwork@mira.cbaines.net; Fri, 22 Jul 2022 07:46:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45908) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEr6Z-00013Z-41 for guix-patches@gnu.org; Fri, 22 Jul 2022 07:46:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:50557) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oEr6Y-0001zx-PB for guix-patches@gnu.org; Fri, 22 Jul 2022 07:46:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oEr6Y-0000PT-IX for guix-patches@gnu.org; Fri, 22 Jul 2022 07:46:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56699] [PATCH] gnu: greetd-service-type: Add greeter-extra-groups config field. Resent-From: muradm Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 22 Jul 2022 11:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 56699 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56699@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16584903091481 (code B ref -1); Fri, 22 Jul 2022 11:46:02 +0000 Received: (at submit) by debbugs.gnu.org; 22 Jul 2022 11:45:09 +0000 Received: from localhost ([127.0.0.1]:40306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEr5g-0000Np-Hm for submit@debbugs.gnu.org; Fri, 22 Jul 2022 07:45:08 -0400 Received: from lists.gnu.org ([209.51.188.17]:46916) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEr5e-0000Ne-Gr for submit@debbugs.gnu.org; Fri, 22 Jul 2022 07:45:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45724) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEr5e-0000vc-7b for guix-patches@gnu.org; Fri, 22 Jul 2022 07:45:06 -0400 Received: from nomad-cl1.staging.muradm.net ([139.162.159.157]:33722 helo=nomad-cl1.muradm.net) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEr5c-0001eB-7Y for guix-patches@gnu.org; Fri, 22 Jul 2022 07:45:05 -0400 Received: from localhost ([127.0.0.1]:35736) by nomad-cl1.muradm.net with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1oEr5L-0004k4-2E for guix-patches@gnu.org; Fri, 22 Jul 2022 11:44:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=muradm.net; s=mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:To: From:Sender:Reply-To:Cc:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=Me7XkSa5skJ/BRdPTglmTHxilb4H0HWgfKmVOSWJ9h0=; b=xe4ChSYPV3tafr9c2MJepkoP8E cuy1ftLbN/Byafl1fhnBegKxtPOo3eAdDVemc/7tplTMLQ8Fy81mJmpmCY+yNIqRfAwNIO5pI9kp4 P+crarqwSO7TusSA8vpVL0o2+ajuTZL/hct7FhaO1VeHF3B/8L+U2wkYnX7W8Wn3rmHqT3Nd1LuCq +UVriar8W+HJSe6QIOSevxuPgv89pC8Co/tYK69LApUPNhC5ANUxjz66lmwDXr7olPAIY5TH8w+m4 0nfbNP+z730jdgDzaYy88Vo91zyN2wxQ6iPa1rG9B5bIgDijVM3ZRKxsLhl4P2uVMcng92EwfU1GZ v6bXtd9Hd/OO6QvutA5o+GAl6xvOwvU2nLjN3L83jvt7WIcUSQvJ//zM/IrTqdyEwn9ygzN973fwQ Wy9PKPMkM81qNAxJvs9ifOQTviE29TIbKyfOmhbSrZvZur4FvGyveNJVYtNg6C3+x4fZMu31Ym2gq nVzYVGxIdpfJCrLJAPF3nGV4; Received: from muradm by localhost with local (Exim 4.96) (envelope-from ) id 1oEr5Z-0001NB-1b for guix-patches@gnu.org; Fri, 22 Jul 2022 14:45:01 +0300 From: muradm Date: Fri, 22 Jul 2022 14:45:01 +0300 Message-Id: <20220722114501.5273-1-mail@muradm.net> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Received-SPF: pass client-ip=139.162.159.157; envelope-from=mail@muradm.net; helo=nomad-cl1.muradm.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/services/base.scm (greetd-service-type): Added configurable groups. [extensions]: Switching accounts-service-type from const to function. (): Added greeter-extra-groups field of type list. (greetd-accounts-service): New variable, function returning list necessary accounts for accounts-service-type, including the greeter-extra-groups. (%greetd-accounts): Removed. * doc/guix.texi: Mention greeter-extra-groups field with example. --- doc/guix.texi | 8 ++++++++ gnu/services/base.scm | 28 +++++++++++++++------------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 3c5864ec1a..51678b7f19 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18493,6 +18493,14 @@ the 'root' account has just been created. @item @code{terminals} (default: @code{'()}) List of @code{greetd-terminal-configuration} per terminal for which @code{greetd} should be started. + +@item @code{greeter-extra-groups} (default: @code{'()}) +List of groups which should be added to @code{greeter} user. For instance: +@lisp +(greeter-extra-groups '("seat")) +@end lisp +Note that, however it will fail if @code{seatd-service-type} is not present, +or to be more specific, @code{seat} group is not present. @end table @end deftp diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 27eae75c46..94c8dcac2a 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -2918,17 +2918,6 @@ (define (make-greetd-terminal-configuration-file config) "user = " default-session-user "\n" "command = " default-session-command "\n"))) -(define %greetd-accounts - (list (user-account - (name "greeter") - (group "greeter") - ;; video group is required for graphical greeters. - (supplementary-groups '("video")) - (system? #t)) - (user-group - (name "greeter") - (system? #t)))) - (define %greetd-file-systems (list (file-system (device "none") @@ -2956,7 +2945,20 @@ (define-record-type* greetd-configuration? (motd greetd-motd (default %default-motd)) (allow-empty-passwords? greetd-allow-empty-passwords? (default #t)) - (terminals greetd-terminals (default '()))) + (terminals greetd-terminals (default '())) + (greeter-extra-groups greetd-greeter-extra-groups (default '()))) + +(define (greetd-accounts-service config) + (list (user-group (name "greeter") (system? #t)) + (user-account + (name "greeter") + (group "greeter") + ;; video group is required for graphical greeters. + (supplementary-groups + (append + '("video") + (greetd-greeter-extra-groups config))) + (system? #t)))) (define (make-greetd-pam-mount-conf-file config) (computed-file @@ -3033,7 +3035,7 @@ (define greetd-service-type login manager daemon.") (extensions (list - (service-extension account-service-type (const %greetd-accounts)) + (service-extension account-service-type greetd-accounts-service) (service-extension file-system-service-type (const %greetd-file-systems)) (service-extension etc-service-type greetd-etc-service) (service-extension pam-root-service-type greetd-pam-service)