Subject: Re: bug#54545: [Guix Home] ‘shepherd’ started twice?
From: Ludovic Courtès <[email-masked]>
To: Andrew Tropin <[email-masked]>
Cc: [email-masked]
Date: Fri, 15 Apr 2022 17:59:14 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Andrew Tropin <[email-masked]> skribis:

[...]

> for example I can't find info about
> Fixes line even with search

That part is not written (yet!), but you’ve had the opportunity to look
at the Git log I guess.  :-)

>>> From 56d16b4cd511f6837329b888dade0c6d6da4d89d Mon Sep 17 00:00:00 2001
>>> From: Andrew Tropin <[email-masked]>
>>> Date: Tue, 12 Apr 2022 12:19:50 +0300
>>> Subject: [PATCH 2/3] home: shepherd: Use run-on-change to reload shepherd
>>>  config.
>>>
>>> * gnu/home/services/shepherd.scm: Add shepherd configuration to
>>> XDG_CONFIG_HOME and use it instead of full path to the store. It's necessary
>>> to use run-on-change service.

[...]

>> How does this relate to the bug at hand?
>>
>>   https://issues.guix.gnu.org/54545
>>
>
> Almost directly.
>
> During activation if there is no shepherd process we tried to launch a
> new one, which was useful back in the days, when I was testing changes
> frequently, but can be kinda unexpected for user, if they stopped
> Shepherd for some reason, but during activation it started again
> automatically.  As we discussed earlier:
>
>>>> Probably we need to do config reload using on-change service and also
>>>> not trigger on-change stuff if user isn't logged in.
>
>>>   Makes sense.
>
> it would be nice to reload configuration only if it's changed.  To make
> run-on-change work we need to store a config somewhere in
> home-environment, to make it possible to compare with previous
> generation.  files/.config/shepherd/init.scm looks like a good match
> here, in addition to on-change functionality it increases explorability.

Hmm let’s not invent some new fancy way to update Shepherd services and
instead use what we already have for Guix System.

I’m closing this issue; please open a new one if there’s more to
discuss!

Thanks,
Ludo’.