Use forkexec, not system, constructor for syncthing

I thought that ‘syncthing-gtk’ was a program that would fork (given the fact
that it has a ‘--quit’ command), but it turns out that it doesn't. Using the
system constructor means that shepherd will block until ‘syncthing-gtk’ is
closed.
This commit is contained in:
Tom Willemse 2022-04-20 17:17:57 -07:00
parent 1f0cfee5a7
commit 211bfcb544

View file

@ -25,13 +25,12 @@
(provision '(syncthing)) (provision '(syncthing))
(auto-start? #t) (auto-start? #t)
(start (start
#~(make-system-constructor #~(make-forkexec-constructor
#$(file-append (home-syncthing-configuration-package config) "/bin/syncthing-gtk") (list #$(file-append (home-syncthing-configuration-package config) "/bin/syncthing-gtk")
" --minimized")) "--minimized"
#:log-file (format #f "~a/.local/var/log/syncthing.log" (getenv "HOME")))))
(stop (stop
#~(make-system-destructor #~(make-kill-destructor)))))
#$(file-append (home-syncthing-configuration-package config) "/bin/syncthing-gtk")
" --quit")))))
(define home-syncthing-service-type (define home-syncthing-service-type
(service-type (service-type