Thanks Fredrik!I really struggle with subtle details that are a few paragraphs deep, and so, I am embarassed.
If anyone else is reading this for reference: I should not have set =#:user #:t= for =make-forkexec-constructor=. The =#:user= keyword expects a string. My user is implicitly when left with the default value.
If I may say so, this has been easier to learn than systemd services. After many years of mostly failing to use systemd properly, I have not yet mastered it.
My user-level services are running :) Fredrik Salomonsson <[email protected]> writes:
Hi Tangonov, Tangonov <[email protected]> writes:Ok, it seems as though I had some bash configuration issues. My "$(inline commands)" made things unhappy for some reason.I resolved them, and shepherd started working...except that herd was totally bound up and not responsive. I had to kill it to reconfigure.I assumed this is because the services were holding stuff up...so I tried a forked config:#+BEGIN_SRC scheme (service home-shepherd-service-type (home-shepherd-configuration (services (list (shepherd-service (provision '(syncthing))(start #~(make-forkexec-constructor "syncthing" #:user #:t))(stop #~(make-kill-destructor)) (documentation"Synchronize folders to other device"))(shepherd-service (provision '(pantalaimon))(start #~(make-forkexec-constructor "pantalaimon" #:user #:t))(stop #~(make-kill-destructor)) (documentation"Crypto back-end server for ement.el"))))))#+END_SRC The forked service does not seem to work :/ #+BEGIN_QUOTE λ herd start pantalaimonherd: exception caught while executing 'start' on service 'pantalaimon': Throw to key `match-error' with args `("match" "no matching pattern" "pantalaimon")'.#+END_QUOTEThe issue is most likely that make-forkexec-constructor's COMMAND argument expects a list of strings [0]. Try and see if this works:#+BEGIN_SRC scheme (service home-shepherd-service-type (home-shepherd-configuration (services (list (shepherd-service (provision '(syncthing))(start #~(make-forkexec-constructor (list "syncthing") #:user #:t))(stop #~(make-kill-destructor)) (documentation"Synchronize folders to other device"))(shepherd-service (provision '(pantalaimon))(start #~(make-forkexec-constructor (list "pantalaimon") #:user #:t))(stop #~(make-kill-destructor)) (documentation"Crypto back-end server for ement.el"))))))#+END_SRC[0] https://www.gnu.org/software/shepherd/manual/html_node/Service-De_002d-and-Constructors.html#Service-De_002d-and-Constructors
signature.asc
Description: PGP signature
