(use-modules (srfi srfi-9) (srfi srfi-9 gnu) (guix utils) (gnu) (gnu services) (gnu services shepherd)) (define add-service-requirement (lambda (service-type requirement) (set-field service-type (service-type-extensions) (map (lambda (ext) (if (eq? (service-extension-target ext) shepherd-root-service-type) (set-field ext (service-extension-compute) (let ((comp (service-extension-compute ext))) (lambda (. args) (let ((serv (apply comp args))) (map (lambda (serv) (set-field serv (shepherd-service-requirement) (append requirement (shepherd-service-requirement serv)))) serv))))) ext)) (service-type-extensions service-type)))))