GNU bug report logs - #43921
[Shepherd PATCH 0/2] Add User Service example.

Previous Next

Package: guix-patches;

Reported by: Jan Nieuwenhuizen <janneke <at> gnu.org>

Date: Sun, 11 Oct 2020 09:41:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: guix-patches <at> gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [Shepherd PATCH 0/2]  Add User Service example.
Date: Sun, 11 Oct 2020 11:40:40 +0200
Hi!

Ever since Efraim's excellent blog post
(https://guix.gnu.org/en/blog/2020/gnu-shepherd-user-services/) I have been
willing to try Shepherd's User Services (actually I wanted to try it for much
longer but it felt too daunting to dive in), and thanks to a nice discussion
on IRC this morning I finally gave it a go.

We were wondering it if would be feasible to add

--8<---------------cut here---------------start------------->8---
if [[ ! -S /run/user/$UID/shepherd/socket ]]; then  
    shepherd  
fi  
--8<---------------cut here---------------end--------------->8---

to /etc/skel/.bash_profile, and maybe even add
/etc/skel/.config/shepherd/init.scm:

--8<---------------cut here---------------start------------->8---
(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)
--8<---------------cut here---------------end--------------->8---

that I got from Efraim's blog post.  For starters, I have put this
in the Shepherd manual.  WDYT?

Greetings,
Janneke

Jan (janneke) Nieuwenhuizen (2):
  Use XDG_CACHE_HOME/shepherd for unprivileged users' log directory.
  Add User Service example.

 doc/shepherd.texi            | 75 +++++++++++++++++++++++++++++++++---
 modules/shepherd/support.scm | 15 +++++++-
 2 files changed, 83 insertions(+), 7 deletions(-)

-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com




This bug report was last modified 4 years and 182 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.