Hi, Sergey Trofimov skribis: > * gnu/home/services/syncthing.scm > (home-syncthing-service-type): New variable. > (home-syncthing-configuration): New procedure. > * gnu/services/syncthing.scm > (syncthing-shepherd-service): Adapt to be used as a home service. > * doc/guix.texi: Ditto. Nice! Note: You can just say “New file” for a new file; however please specify the name of the node added to the manual, for clarity. > +(define syncthing-home-shepherd-service > + (lambda (configuration) > + (map (lambda (srv) (shepherd-service (inherit srv) (requirement '()))) > + ((@@ (gnu services syncthing) syncthing-shepherd-service) configuration)))) You could do that without resorting to @@, by using ‘find’ on the extensions of ‘syncthing-service-type’. > diff --git a/gnu/services/syncthing.scm b/gnu/services/syncthing.scm > index 7c3d5b027d..960f0a1db8 100644 > --- a/gnu/services/syncthing.scm > +++ b/gnu/services/syncthing.scm > @@ -43,8 +43,7 @@ (define-record-type* > (default '())) > (logflags syncthing-configuration-logflags ;number > (default 0)) > - (user syncthing-configuration-user ;string > - (default #f)) > + (user syncthing-configuration-user) ;string This means that users of ‘syncthing-service-type’ will now have to provide a value for ‘user’, which wasn’t the case until now. Is this change necessary? The rest looks reasonable to me. My main concern is whether it would make sense to automate system->home service translation. I’ll expand on that separately. Thanks, Ludo’.