Re: modular shepherd config

2020-04-20 Thread Jan Nieuwenhuizen
Efraim Flashner writes:

> A while ago I split my personal shepherd init.scm into a bunch of files
> and I wanted to document it somewhere for others to see also. Any
> suggestion where I should put it? Shepherd manual? guix-cookbook?

This looks interesting, so how to get started trying?  My most pressing
question is: how and when do you start your user's shepherd?

Do I have to log into the machine, do I have to stay logged-in?

Greetings,
janneke

-- 
Jan Nieuwenhuizen  | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com



Re: modular shepherd config

2020-04-13 Thread Maxim Cournoyer
Hello Efraim,

Efraim Flashner  writes:

> A while ago I split my personal shepherd init.scm into a bunch of files
> and I wanted to document it somewhere for others to see also. Any
> suggestion where I should put it? Shepherd manual? guix-cookbook?

Since this is purely about organizing Shepherd services (with nothing
specific about Guix), I'd add this to the Shepherd manual; then perhaps
link to it from other places if relevant.

> (ins)efraim@E5400 ~$ tree .config/shepherd/
> .config/shepherd/
> ├── init.d
> │   ├── dropbox.scm
> │   ├── fccache.scm
> │   ├── gnupg.scm
> │   ├── guix.scm
> │   ├── kdeconnect.scm
> │   ├── mbsync.scm
> │   ├── syncthing.scm
> │   └── vdirsyncer.scm
> ├── init.scm
> └── shepherd.log
>
> (ins)efraim@E5400 ~$ cat .config/shepherd/init.scm
> (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)

Don't you also need to register the services and arrange to have them
started?

My init.scm looks like:

--8<---cut here---start->8---
;;; Shepherd User Services
(load "services.scm")

(register-services
 emacs
 gpg-agent
 jackd
 ibus-daemon
 workrave)

;; Send shepherd into the background.
(action 'shepherd 'daemonize)

;; Services to start when shepherd starts:
(for-each start '(emacs
  gpg-agent
  ibus-daemon
  workrave))
--8<---cut here---end--->8---

Thanks for sharing!

Maxim



modular shepherd config

2020-04-09 Thread Efraim Flashner
A while ago I split my personal shepherd init.scm into a bunch of files
and I wanted to document it somewhere for others to see also. Any
suggestion where I should put it? Shepherd manual? guix-cookbook?

(ins)efraim@E5400 ~$ tree .config/shepherd/
.config/shepherd/
├── init.d
│   ├── dropbox.scm
│   ├── fccache.scm
│   ├── gnupg.scm
│   ├── guix.scm
│   ├── kdeconnect.scm
│   ├── mbsync.scm
│   ├── syncthing.scm
│   └── vdirsyncer.scm
├── init.scm
└── shepherd.log

(ins)efraim@E5400 ~$ cat .config/shepherd/init.scm
(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)


-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature