[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#73383] [PATCH] home: home-shepherd-configuration: Add silent? field
From: |
Dariqq |
Subject: |
[bug#73383] [PATCH] home: home-shepherd-configuration: Add silent? field. |
Date: |
Fri, 20 Sep 2024 12:39:23 +0000 |
* gnu/home/services/shepherd.scm (home-shepherd-configuration): Add silent?
field.
(launch-shepherd-gexp): Conditionally invoke shepherd with --silent.
* doc/guix.texi (home-shepherd-configuration): Document it.
Change-Id: I1ce7a92c2777ebded39fe293b0bdcbd03562b4fc
---
Hi,
This adds a configuration field to the home-shepherd to optionally invoke it
with --silent. See [1] for details. The option currently only actually works
as advertised when using the development branch of shepherd, for the current
version (v0.10.5) the --silent parameter is ignored.
I have set the default value to #f to not change the current behaviour.
For the documentation I am not perfectly happy with my description because the
behaviour is opposite of the description (Setting to #t causes no output to
stdout), maybe there is a better way to phrase this? Also is there a better way
to communicate that it only works when the auto-start? field is also #t?
Related: The daemonize? field is not documented and the accessor is not being
exported.
[1] https://issues.guix.gnu.org/72277
doc/guix.texi | 3 +++
gnu/home/services/shepherd.scm | 7 ++++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 52e36e4354..ab8cf54ae8 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -46057,6 +46057,9 @@ Shepherd Home Service
@item auto-start? (default: @code{#t})
Whether or not to start Shepherd on first login.
+@item silent? (default: @code{#f})
+Whether or not the auto-started Shepherd should output to stdout.
+
@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..17b005ed71 100644
--- a/gnu/home/services/shepherd.scm
+++ b/gnu/home/services/shepherd.scm
@@ -32,6 +32,7 @@ (define-module (gnu home services shepherd)
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 @@ (define-record-type* <home-shepherd-configuration>
(default #t))
(daemonize? home-shepherd-configuration-daemonize?
(default #t))
+ (silent? home-shepherd-configuration-silent?
+ (default #f))
(services home-shepherd-configuration-services
(default '())))
@@ -107,7 +110,8 @@ (define (home-shepherd-configuration-file config)
(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 @@ (define (launch-shepherd-gexp config)
#$(file-append shepherd "/bin/shepherd")
"--logfile"
(string-append log-dir "/shepherd.log")
+ #$@(if silent? '("--silent") '())
"--config"
#$(home-shepherd-configuration-file config)))))
#~"")))
base-commit: e9d903f146865db5948abd271a5c7e763681b4e9
--
2.46.0
- [bug#73383] [PATCH] home: home-shepherd-configuration: Add silent? field.,
Dariqq <=