If this winds up being something you do frequently, it may be possible to write a function to modify the service type. See [1] as an example. I suspect your code would be smaller, something like
--8<---------------cut here---------------start------------->8--- (define (depend-on type new-requirement) "Returns a @code{service-type} record derived from @var{type} with any shepherd extensions additionally depending on @var{new-requirement}." (service-type (inherit type) (extensions (map (lambda (extension) (let ((target (service-extension-target extension)) (compute (service-extension-compute extension))) (if (eq? target shepherd-root-service-type) (service-extension shepherd-root-service-type (lambda (config) (map (lambda (service) (shepherd-service (inherit service) (requirement (cons* new-requirement (shepherd-service-requirement config))))) (compute config)))) extension))) (service-type-extensions type))))) --8<---------------cut here---------------end--------------->8--- This code might not be it exactly, but something similar to this /should/ work. [1] https://git.sr.ht/~freakingpenguin/rsent/tree/master/item/channel/rsent/utils/services.scm -- Take it easy, Richard Sent Making my computer weirder one commit at a time.