diff --git a/doc/guix.texi b/doc/guix.texi index fb2a74f847..518f2878b6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -46075,6 +46075,10 @@ The Shepherd package to use. @item auto-start? (default: @code{#t}) Whether or not to start Shepherd on first login. +@item silent? (default: @code{#t}) +When true, the @command{shepherd} process does not write +anything to standard output when started automatically. + @item services (default: @code{'()}) A list of @code{} to start. You should probably use the service extension diff --git a/gnu/home/services/shepherd.scm b/gnu/home/services/shepherd.scm index dfe4030a4e..75b80bfa26 100644 --- a/gnu/home/services/shepherd.scm +++ b/gnu/home/services/shepherd.scm @@ -32,6 +32,7 @@ home-shepherd-configuration? home-shepherd-configuration-shepherd home-shepherd-configuration-auto-start? + home-shepherd-configuration-silent? home-shepherd-configuration-services) #:re-export (shepherd-service shepherd-service? @@ -58,6 +59,8 @@ (default #t)) (daemonize? home-shepherd-configuration-daemonize? (default #t)) + (silent? home-shepherd-configuration-silent? + (default #t)) (services home-shepherd-configuration-services (default '()))) @@ -107,7 +110,8 @@ as shepherd package." (scheme-file "shepherd.conf" config))) (define (launch-shepherd-gexp config) - (let* ((shepherd (home-shepherd-configuration-shepherd config))) + (let* ((shepherd (home-shepherd-configuration-shepherd config)) + (silent? (home-shepherd-configuration-silent? config))) (if (home-shepherd-configuration-auto-start? config) (with-imported-modules '((guix build utils)) #~(unless (file-exists? @@ -125,6 +129,7 @@ as shepherd package." #$(file-append shepherd "/bin/shepherd") "--logfile" (string-append log-dir "/shepherd.log") + #$@(if silent? '("--silent") '()) "--config" #$(home-shepherd-configuration-file config))))) #~"")))