GNU bug report logs

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

PackageSource(s)Maintainer(s)
guix-patches PTS Buildd Popcon
Full log

Message #5 received at submit@debbugs.gnu.org (full text, mbox, reply):

Received: (at submit) by debbugs.gnu.org; 5 May 2025 14:40:58 +0000
From debbugs-submit-bounces@debbugs.gnu.org Mon May 05 10:40:58 2025
Received: from localhost ([127.0.0.1]:41411 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
	id 1uBx06-0002mn-6x
	for submit@debbugs.gnu.org; Mon, 05 May 2025 10:40:58 -0400
Received: from lists.gnu.org ([2001:470:142::17]:38348)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <benjamin@uvy.fr>) id 1uBx00-0002mS-8X
 for submit@debbugs.gnu.org; Mon, 05 May 2025 10:40:54 -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 <benjamin@uvy.fr>) id 1uBwzo-0008Vh-1r
 for guix-patches@gnu.org; Mon, 05 May 2025 10:40:43 -0400
Received: from uvy1.uvy.fr ([54.37.64.75])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <benjamin@uvy.fr>) id 1uBwzl-00044i-Eu
 for guix-patches@gnu.org; Mon, 05 May 2025 10:40:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=20240405; bh=2bQNniDFqB6
 0mnLG6fBzOMcJAFYdZiLymKoS4iqucbk=; h=date:subject:cc:to:from; 
 d=uvy.fr;
 b=pmMHedVCtxSXyFK1YwhI6YhG3NLb7m0MPTmXZ9RG+NgTnUcEBXHGyb5vza
 yyxGVL9x9HuoORwQz/xxOLZqVX7N2cc8DRnbed0CYrrD0/7F/NQNWrJe6r7jRY8nQ/Hfcr
 ajjczzi4ifOf5ISk3UcMcaH25+/mOmv/pq3UQ2zpTsHOFZ5fqhXfBvIOBZGKZ+mD2btDXn
 f98ubL7/jocRiOphMJw7hYCX3/odYgBGN2wZj/l/9qtFhCExHb9IHLY09S5jeVKHihjzG3
 JfPcf3qbIS1sNU/0bOCBIf0un2LW8EwYxbW7JQzPlw7MyBpwtmTWDUM3bWHpCxYCrXPTzC
 lhZQ==
Received: by uvy1.uvy.fr (OpenSMTPD) with ESMTPSA id 6653c291
 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); 
 Mon, 5 May 2025 14:40:29 +0000 (UTC)
From: Benjamin <benjamin@uvy.fr>
To: guix-patches@gnu.org
Subject: [PATCH] services: greetd: Add support for initial session.
Date: Mon,  5 May 2025 16:40:23 +0200
Message-ID: <b1993455b48748c7bf1c9cdabc1536c1ec4685f3.1746455832.git.benjamin@uvy.fr>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
X-Debbugs-Cc: Gabriel Wicki <gabriel@erlikon.ch>, Ludovic Courtès <ludo@gnu.org>, Maxim Cournoyer <maxim.cournoyer@gmail.com>
Content-Transfer-Encoding: 8bit
Received-SPF: permerror client-ip=54.37.64.75; envelope-from=benjamin@uvy.fr;
 helo=uvy1.uvy.fr
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,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: submit
Cc: Benjamin <benjamin@uvy.fr>
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit@debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request@debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
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(-)

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





Send a report that this bug log contains spam.


debbugs.gnu.org maintainers <help-debbugs@gnu.org>. Last modified: Tue Sep 9 04:02:57 2025; Machine Name: wallace-server

GNU bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.