GNU bug report logs -
#57047
[PATCH v2] gnu: greetd-service-type: Add greeter-extra-groups config field.
Previous Next
Reported by: muradm <mail <at> muradm.net>
Date: Sun, 7 Aug 2022 21:49:02 UTC
Severity: normal
Tags: patch
Done: muradm <mail <at> muradm.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 57047 in the body.
You can then email your comments to 57047 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#57047
; Package
guix-patches
.
(Sun, 07 Aug 2022 21:49:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
muradm <mail <at> muradm.net>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sun, 07 Aug 2022 21:49:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* gnu/services/base.scm (greetd-service-type): Added configurable groups.
[extensions]: Switching accounts-service-type from const to function.
(<greetd-configuration>): Added greeter-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.
* gnu/tests/desktop.scm (%minimal-services): Add test for greeter-groups.
* doc/guix.texi: Mention greeter-extra-groups field with example.
---
doc/guix.texi | 8 ++++++++
gnu/services/base.scm | 24 +++++++++++-------------
gnu/tests/desktop.scm | 7 +++++++
3 files changed, 26 insertions(+), 13 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 21cee4e369..2b09bea3b0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18509,6 +18509,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-groups} (default: @code{'()})
+List of groups which should be added to @code{greeter} user. For instance:
+@lisp
+(greeter-groups '("seat" "video"))
+@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..85de6decfe 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,16 @@ (define-record-type* <greetd-configuration>
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-groups greetd-greeter-groups (default '())))
+
+(define (greetd-accounts-service config)
+ (list (user-group (name "greeter") (system? #t))
+ (user-account
+ (name "greeter")
+ (group "greeter")
+ (supplementary-groups (greetd-greeter-groups config))
+ (system? #t))))
(define (make-greetd-pam-mount-conf-file config)
(computed-file
@@ -3033,7 +3031,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)
diff --git a/gnu/tests/desktop.scm b/gnu/tests/desktop.scm
index 25971f9225..ef4a7e0ec9 100644
--- a/gnu/tests/desktop.scm
+++ b/gnu/tests/desktop.scm
@@ -122,6 +122,7 @@ (define %minimal-services
(service seatd-service-type)
(service greetd-service-type
(greetd-configuration
+ (greeter-groups '("input" "video"))
(terminals
(list
;; we can make any terminal active by default
@@ -286,6 +287,12 @@ (define (greetd-pid-to-sock pid)
(marionette-type "echo alice > /run/user/1000/test\n" marionette)
(file-get-all-strings "/run/user/1000/test")))
+ (test-equal "check greeter user has correct groups"
+ "greeter input video\n"
+ (begin
+ (marionette-type "id -Gn greeter > /run/user/1000/greeter-groups\n" marionette)
+ (file-get-all-strings "/run/user/1000/greeter-groups")))
+
(test-assert "screendump"
(begin
(marionette-control (string-append "screendump " #$output
--
2.37.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#57047
; Package
guix-patches
.
(Sun, 07 Aug 2022 21:58:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 57047 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
close
should not be opened
[signature.asc (application/pgp-signature, inline)]
bug closed, send any further explanations to
57047 <at> debbugs.gnu.org and muradm <mail <at> muradm.net>
Request was from
muradm <mail <at> muradm.net>
to
control <at> debbugs.gnu.org
.
(Sun, 07 Aug 2022 22:02:01 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 05 Sep 2022 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 339 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.