Hi Ludo,
Thank you for the patch.
On 23.02.25 22:51, Ludovic Courtès wrote:
Hi Maxim,
Maxim Cournoyer <[email protected]> skribis:
I was wondering if this shouldn't be part of an implicit default
%shepherd-default-requires that
could be overridden if needed... but I think even in systemd land you
must explicitly specify wanted using e.g. 'WantedBy=multi-user.target'
in your systemd unit definition, so I guess it's fine that it must be
explicitly specified.
I almost changed the default value of ‘requirement’ to '(user-processes)
in <shepherd-service>, but then I thought this would need more testing
and discussion: surely there are places in Guix and in code/config out
there that relies on the current default value.
I don't think this would have been a good change:
- It breaks services that correctly don't depend on user-processes, i.e.
filesystem mounts
- It breaks every home-services that (correctly) depends on nothing but
the home-shepherd .
- It creates a (non obvious) discrepancy between the shepherd service
API and the Guix layer on top
Imo ideally all services would expose their shepherd requirements (and
service-autostart, extra daemon args, daemon-environment, extra actions,
...) in the configuration records which would allows users to workaround
such a problem themselves.
The current system depends on whether the author of the service added
it, feels a bit arbitrary and is not flexible if a setting one would
like to adjust is not configurable.
(i am guilty of this as well for the service i contributed to guix)
But this for a discussion at another time.
Thanks for your feedback,
Ludo’.