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))
(auto-start? #t)
(start
#~(make-system-constructor
#$(file-append (home-syncthing-configuration-package config) "/bin/syncthing-gtk")
" --minimized"))
#~(make-forkexec-constructor
(list #$(file-append (home-syncthing-configuration-package config) "/bin/syncthing-gtk")
"--minimized"
#:log-file (format #f "~a/.local/var/log/syncthing.log" (getenv "HOME")))))
(stop
#~(make-system-destructor
#$(file-append (home-syncthing-configuration-package config) "/bin/syncthing-gtk")
" --quit")))))
#~(make-kill-destructor)))))
(define home-syncthing-service-type
(service-type