[PATCH] services: greetd: Add support for initial session.

  • Done
  • quality assurance status badge
Details
2 participants
  • Andreas Enge
  • Benjamin
Owner
unassigned
Submitted by
Benjamin
Severity
normal

Debbugs page

B
B
Benjamin wrote on 5 May 07:40 -0700
(address . guix-patches@gnu.org)(name . Benjamin)(address . benjamin@uvy.fr)
b1993455b48748c7bf1c9cdabc1536c1ec4685f3.1746455832.git.benjamin@uvy.fr
This commit adds initial_session section to greetd configuration file.

This optional section describes the initial session, commonly
referred to as "auto-login".

* gnu/services/base.scm (greetd-terminal-configuration): Add initial-session-user
and initial-session-command fields.
* doc/guix.texi: Document the new fields.

Change-Id: I84d6860bfe459f3cae07f5932920741fd5a60899
---
doc/guix.texi | 12 ++++++++++++
gnu/services/base.scm | 20 ++++++++++++++++----
2 files changed, 28 insertions(+), 4 deletions(-)

Toggle diff (72 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 7f796c5fc94..b69298eb5fb 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -20844,6 +20844,18 @@ Base Services
@code{greetd-wlgreet-sway-session}, @code{greetd-gtkgreet-sway-session}
or a file-like object to use as greeter.
+@item @code{initial-session-user} (default: @code{#f})
+The user to use for running the initial session.
+
+@code{initial-session-command} must also be defined.
+
+@item @code{initial-session-command} (default: @code{(greetd-agreety-session)})
+The command-line that greetd will run to start the initial session, e.g.
+@code{(file-append sway "/bin/sway")}.
+The initial session will be started exactly once when greetd is initially launched.
+
+@code{initial-session-user} must also be defined.
+
@end table
@end deftp
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 650121be8f1..56cb5206af9 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -3941,7 +3941,10 @@ (define-record-type* <greetd-terminal-configuration>
(source-profile? greetd-source-profile? (default #t))
(default-session-user greetd-default-session-user (default "greeter"))
(default-session-command greetd-default-session-command
- (default (greetd-agreety-session))))
+ (default (greetd-agreety-session)))
+ (initial-session-user greetd-initial-session-user (default #f))
+ (initial-session-command greetd-initial-session-command
+ (default #f)))
(define (default-config-file-name config)
(string-join (list "config-" (greetd-terminal-vt config) ".toml") ""))
@@ -3956,8 +3959,11 @@ (define (make-greetd-terminal-configuration-file config)
(terminal-vt (greetd-terminal-vt config))
(terminal-switch (greetd-terminal-switch config))
(default-session-user (greetd-default-session-user config))
- (default-session-command (greetd-default-session-command config)))
- (mixed-text-file
+ (default-session-command (greetd-default-session-command config))
+ (initial-session-user (greetd-initial-session-user config))
+ (initial-session-command (greetd-initial-session-command config)))
+ (apply mixed-text-file
+ (cons*
config-file-name
"[general]\n"
"source_profile = " (if source-profile? "true" "false") "\n"
@@ -3966,7 +3972,13 @@ (define (make-greetd-terminal-configuration-file config)
"switch = " (if terminal-switch "true" "false") "\n"
"[default_session]\n"
"user = " default-session-user "\n"
- "command = " default-session-command "\n")))
+ "command = " default-session-command "\n"
+ (if (and initial-session-user initial-session-command)
+ (list
+ "[initial_session]\n"
+ "user = " initial-session-user "\n"
+ "command = " initial-session-command "\n")
+ (list))))))
(define %greetd-file-systems
(list (file-system

base-commit: 17119f1a35b7bff683f2f8f2b5db09b4634283e6
--
2.49.0
B
B
Benjamin wrote on 2 Aug 05:34 -0700
Close this patch
(address . 78261@debbugs.gnu.org)
DBRY1YZ5R6C3.2C89PSJV0C9OC@uvy.fr
This issue can be closed.

It has been done in 72996cd573f90aeaec88fa1de9f2382b96a7864d
A
A
Andreas Enge wrote on 2 Aug 12:00 -0700
Close
(address . 78261-done@debbugs.gnu.org)
aI5gTOHVZwcPDOth@jurong
Closing as requested.

Andreas
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 78261@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 78261
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch