[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Auto-start service
From: |
excalamus |
Subject: |
Auto-start service |
Date: |
Fri, 9 Jul 2021 00:28:54 +0200 (CEST) |
I'm setting up the Emacs daemon following a thread on the mailing list:
https://lists.gnu.org/archive/html/help-guix/2019-11/msg00148.html. I have
services.scm and init.scm defined. I can call `shepherd -c
~/.config/shepherd/init.scm` and the service starts. I can kill the terminal
and connect a client with `emacsclient -c`. Trouble is, I can't figure out how
to start the service on boot.
The config files I'm using are:
;; services.scm
(define emacsd
(make <service>
#:provides '(emacsd)
#:start (make-system-constructor "emacs --daemon")
#:stop (make-system-destructor "emacsclient --eval \"(kill-emacs)\"")))
;; init.scm
;;; Shepherd User Services
(load "/home/ahab/.config/shepherd/services.scm")
(register-services
emacsd)
;; Send shepherd into the background.
(action 'shepherd 'daemonize)
;; Services to start when shepherd starts:
(for-each start '(emacsd))
Based on what (shepherd) Jump Start paragraph 3 says, I'm confused about why
Shepard doesn't find the config files. Is it because Shepherd starts as
superuser on boot?
Meanwhile, I was advised to define a service in my config. I'm in the process
of reading the documentation (really, figuring out how to set Geiser up to read
the documentation) so that I can understand the relevant parts. Is the config
the generally recommended approach for Guix SD versus the
$HOME/.config/shepherd directory?
Surely someone else has set up an Emacs daemon service? The linked thread
mentioned this being a good idea for a cookbook recipe. I'd be happy to
contribute to that as I'm confident I'm not alone in wanting an Emacs daemon
service defined.
- Auto-start service,
excalamus <=