Hello Carlo,

thank you for tackling this issue,
imo it's a super useful feature to be able to change (shepherd)
services after they are made.

> As fuel for thought, we have https://issues.guix.gnu.org/27155 from 2017
> which creates a finalization mechanism for any service type, but it
> built on the idea of explicit extension points which would limit what a
> finalizer can do to whatever a service writer has made available.

Could you clarify this point? Maybe I misunderstood the patch,
but the way I see it is that it takes the service-value (configuration)
and modifies it in any way. If that's so, it seems to me it's even
more general than your idea and that is't possible to build the
finalization options for shepherd as a layer above it
(procedures that will make modifications easier for the end user
that could be part of the Guix channel).

To make sure we are on the same page, the way I see it - with the patch
27155 it should be possible to finalize root shepherd service type and
go over all the services available. Not that the service that added the
shepherd service would be finalized. If one was trying to do it like
that, then yes, it would be fairly easy to hit the problem you're
suggesting - service writer has (not) made something available.

Regards,
Rutherther

Reply via email to