diff --git a/shepherd/init.d/emacs.scm b/shepherd/init.d/emacs.scm new file mode 100644 index 0000000..e220303 --- /dev/null +++ b/shepherd/init.d/emacs.scm @@ -0,0 +1,11 @@ +(define emacs + (make + #:provides '(emacs) + #:start (make-system-constructor "emacs --daemon") + #:stop (make-system-destructor "emacsclient -e '(kill-emacs)'") + #:respawn? #t)) + +(register-services emacs) + +(start emacs) + diff --git a/shepherd/init.d/gnupg.scm b/shepherd/init.d/gnupg.scm new file mode 100644 index 0000000..1373697 --- /dev/null +++ b/shepherd/init.d/gnupg.scm @@ -0,0 +1,11 @@ +(define gpg-agent + (make + #: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) + diff --git a/shepherd/init.d/polkit.scm b/shepherd/init.d/polkit.scm new file mode 100644 index 0000000..e70803b --- /dev/null +++ b/shepherd/init.d/polkit.scm @@ -0,0 +1,11 @@ +(define polkit-agent + (make + #: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) + diff --git a/shepherd/init.d/udiskie.scm b/shepherd/init.d/udiskie.scm new file mode 100644 index 0000000..125d2af --- /dev/null +++ b/shepherd/init.d/udiskie.scm @@ -0,0 +1,11 @@ +(define udiskie + (make + #:provides '(udiskie) + #:start (make-system-constructor "udiskie &") + #:stop (make-system-destructor "pkill -9 udiskie") + #:respawn? #t)) + +(register-services udiskie) + +(start udiskie) + diff --git a/shepherd/init.scm b/shepherd/init.scm new file mode 100644 index 0000000..2cf462b --- /dev/null +++ b/shepherd/init.scm @@ -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) +