summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi4
-rw-r--r--gnu/home/services/shepherd.scm7
2 files changed, 10 insertions, 1 deletions
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{<shepherd-service>} 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)))))
#~"")))