Subject: Re: home-shepherd is flooding tty

From: Dariqq <[email-masked]>
Date: Mon, 16 Sep 2024 13:23:48 +0000

On 24.07.24 18:16, Dariqq wrote:
> Hi,
> 
> Today I connected to my laptop running guix home over ssh as the first 
> session and got greeted with a lot of shepherd logs from the on-first- 
> login script from guix-home starting the user shepherd:
> 
> 
> 
> Starting service root...
> Service root started.
> Service root running with value #t.
> Service root has been started.
> WARNING: Use of `load' in declarative module (#{ g107}#).  Add 
> #:declarative? #f to your define-module invocation.
> Daemonizing...
> 
> Some deprecated features have been used.  Set the environment
> variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
> program to get more information.  Set it to "no" to suppress
> this message.
> Restarting signal handler.
> Now running as process 2026.
> Starting services...
> Configuration successfully loaded from '/gnu/ 
> store/004jm8s9km3j70gh4nhw8fzlbjls5wxa-shepherd.conf'.
> Starting service dbus...
> Service dbus has been started.
> Service dbus started.
> Service dbus running with value 2027.
> [...]
> Successfully started 4 services in the background.
> 
> 
> 

The guile deprecation warning seems to be coming from using the 
deprecated way of daemonizing the shepherd. This has been fixed in 
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=8da4eab2447a52c1d4f79305756cfab4df45a1a7

> As I don't want to see these messages I have patched the add-shell- 
> profile-file procedure in gnu/home/services/shells.scm to send the 
> output of the on-first-login-script into the void as a workaround.
> 
> The shepherd manual mentions a --quit option (there seems to be also -- 
> silent but not documented). Looking at the shepherd code though these 
> don't seem to do anything which is also not mentioned anywhere causing 
> even more confusion.

The devel shepherd now understands --silent (and --quiet): 
https://git.savannah.gnu.org/cgit/shepherd.git/commit/?h=devel&id=6ffe404ffe794b06fddd304a963a47b62444edfa

When running the [email-masked] with a backported version of the above 
commmit and --silent all that is left is the warning

 > WARNING: Use of `load' in declarative module (#{ g107}#).  Add
 > #:declarative? #f to your define-module invocation.

and when using the devel shepherd this is also gone and shepherd is 
completely silent.

It would be nice to add an option to home-shepherd-configuration to 
autolaunch the shepherd with --silent once it is available in a tagged 
release.