help-guix
[Top][All Lists]
Advanced

[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.  



reply via email to

[Prev in Thread] Current Thread [Next in Thread]