GNU bug report logs - #76286
[PATCH] services: greetd: Use user default login shell.

Previous Next

Package: guix-patches;

Reported by: Murilo <murilo <at> disroot.org>

Date: Fri, 14 Feb 2025 11:50:02 UTC

Severity: normal

Tags: patch

Done: "Murilo" <murilo <at> disroot.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: muradm <mail <at> muradm.net>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, Murilo <murilo <at> disroot.org>
Cc: 76286 <at> debbugs.gnu.org, Ludovic Courtès <ludo <at> gnu.org>
Subject: [bug#76286] [PATCH] services: greetd: Use user default login shell.
Date: Fri, 21 Feb 2025 20:42:11 +0300
[Message part 1 (text/plain, inline)]
Hi!

Techincally looks fine, however...

Initially, I intentionally didn't go with login shell. The problem 
is, you can't write 'bash -l` in passwd database.
Having shell command configured in passwd, and its arguments in 
guix configuration may intiated unwanted inconsistency.
For instance, user puts some fancy command as shell in passwd, and 
greetd sticks '-l' flag to it that nukes the hard drive - 
exaggeration to illustrate the problem :)
Personally, I didn't feel comfortable in spreading configuration 
of one command in two unrelated places.

As far as I understand, whoever uses shell configured in passwd 
should known how to invoke it.

However, for instance, in my passwd shell is 
'/gnu/store/cdwviyfnsfv7k57qrwmym0mrynjixc1i-bash-5.1.16/bin/bash', 
if I would not use 'greetd' who would run 'bash -l'?

With Guix, this situation can be handled purely with passwd 
(either command if no args needed or command-with-args wrapping 
script), then for the sake of consistency I would deprecate 
'command' and 'command-args' and rely on passwd only.

Otherwise, I'm afraid that adding complexity in 
'greetd-user-session-command' program to match known shell 
commands, and probably warning/failing for unknown ones will be 
necessary. IMHO.


Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hi!
>
> Murilo <murilo <at> disroot.org> writes:
>
>> * gnu/services/base.scm (<greetd-user-session>)[command]: Use 
>> user's
>> expected login shell.
>> * doc/guix.texi (Base Services): Change default value for
>> 'greetd-user-session-command' to reflect the newer default 
>> command.
>>
>> Change-Id: Iae702312000d5bc3cc16d40af205ee2c1e5bc4be
>
> LGTM.  CC'ìng muradm, just to be sure.  They worked on the 
> recent greetd
> changes.
>
> Reviewed-by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 84 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.