Hello,
On 21.02.25 11:52, Ludovic Courtès wrote:
Hello,
Dariqq <dar...@posteo.net> skribis:
The two services that I know of are thermald and virtlogd.
I found these:
--8<---------------cut here---------------start------------->8---
scheme@(guix scripts system search)> ,pp (map shepherd-service-
provision (append-map (lambda (services) (remove (lambda (service)
(memq 'user-processes (shepherd-service-requirement service)))
services)) (map service-type-default-shepherd-services (fold-
service- types cons '()))))
Some of them are legitimate, many are not. (Not sure why ‘virtlogd’
doesn’t show up here.)
Neat trick. A lot more than I thought.
Also the purpose of the user-processes service (and maybe also the
filesystems) service as synchronization targets are documented
only in their definition and implicitly with the shepherd graph
image. System-shepherd services that dont depend on anything are
probably a bad idea and seems like a very common mistake for (new)
users implementing their own services. Maybe this should be a a
more explicit note in the documentation for shepherd-service-
requirement and/or a small paragraph in the shepherd services
intro?
Yes, agreed. I’m not entirely sure where to document it; do you
have ideas?
Maybe near the shepherd-graph image in "Shepherd Services" where the
special "targets" can be seen as well (the image looks a bit outdated as
e.g.the filesystem "target" is missing)? Not sure if there is another
"target" worth documenting.
Also maybe a comment or warning in the documentation for shepherd-
service-requirement field that root-shepherd services that don't depend
on anything/ don't depend on user-processes is most likely not what a
user wants for a usual daemon service?
Consistency in all guix services helps as well,s.t. one can look at an
example and then wonder what this user-processes service is about.
(The doc in this area probably needs a Spring cleanup…)
Thanks, Ludo’.