Add shepherd.

This commit is contained in:
Raghav Gururajan 2021-12-18 21:01:14 -05:00
parent e3ca31f1f8
commit f2a10bae13
Signed by: raghavgururajan
GPG Key ID: 5F5816647F8BE551
5 changed files with 58 additions and 0 deletions

11
shepherd/init.d/emacs.scm Normal file
View File

@ -0,0 +1,11 @@
(define emacs
(make <service>
#:provides '(emacs)
#:start (make-system-constructor "emacs --daemon")
#:stop (make-system-destructor "emacsclient -e '(kill-emacs)'")
#:respawn? #t))
(register-services emacs)
(start emacs)

11
shepherd/init.d/gnupg.scm Normal file
View File

@ -0,0 +1,11 @@
(define gpg-agent
(make <service>
#:provides '(gpg-agent)
#:start (make-system-constructor "gpg-agent --daemon")
#:stop (make-system-destructor "gpg-connect-agent killagent /bye")
#:respawn? #t))
(register-services gpg-agent)
(start gpg-agent)

View File

@ -0,0 +1,11 @@
(define polkit-agent
(make <service>
#:provides '(polkit-agent)
#:start (make-system-constructor "$HOME/.guix-profile/libexec/polkit-gnome-authentication-agent-1 &")
#:stop (make-system-destructor "pkill -9 polkit-gnome-authentication-agent-1")
#:respawn? #t))
(register-services polkit-agent)
(start polkit-agent)

View File

@ -0,0 +1,11 @@
(define udiskie
(make <service>
#:provides '(udiskie)
#:start (make-system-constructor "udiskie &")
#:stop (make-system-destructor "pkill -9 udiskie")
#:respawn? #t))
(register-services udiskie)
(start udiskie)

14
shepherd/init.scm Normal file
View File

@ -0,0 +1,14 @@
(use-modules (shepherd service)
((ice-9 ftw) #:select (scandir)))
;; Load all the files in the directory 'init.d' with a suffix '.scm'.
(for-each
(lambda (file)
(load (string-append "init.d/" file)))
(scandir (string-append (dirname (current-filename)) "/init.d")
(lambda (file)
(string-suffix? ".scm" file))))
;; Send shepherd into the background.
(action 'shepherd 'daemonize)