aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-04-10 16:05:43 +0900
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-04-14 10:34:51 +0900
commitf47ff4fccec1a5ec8b939e9d7f54dffb4ef673d9 (patch)
treea9c6ae3a4c2b1c5a7887af9cc1c549824ace8e96
parent57768a7566e86cad5766cf45bc82dc0151742405 (diff)
downloadguix-f47ff4fccec1a5ec8b939e9d7f54dffb4ef673d9.tar.gz
guix-f47ff4fccec1a5ec8b939e9d7f54dffb4ef673d9.zip
services: ngircd: Allow specifying Shepherd requirements.
* gnu/services/messaging.scm (ngircd-configuration) [shepherd-requirement]: New field. * gnu/services/messaging.scm (ngircd-shepherd-service) [requirement]: Use it. * doc/guix.texi (Messaging Services): Update doc. Change-Id: I8164c132ca25830885005d0e8f55554047c84a95
-rw-r--r--doc/guix.texi3
-rw-r--r--gnu/services/messaging.scm9
2 files changed, 10 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index c2640e5063..88a1505779 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -30407,6 +30407,9 @@ The @code{ngircd} package to use.
@item @code{debug?} (default: @code{#f}) (type: boolean)
Turn on debugging messages.
+@item @code{shepherd-requirement} (default: @code{(user-processes)}) (type: list-of-symbols)
+Shepherd requirements the service should depend on.
+
@item @code{global} (type: ngircd-global)
A ngircd-global record object used to specify global options.
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index 6a3569aa4c..c0f1f83d66 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -68,6 +68,7 @@
ngircd-configuration?
ngircd-configuration-ngircd
ngircd-configuration-debug?
+ ngircd-configuration-shepherd-requirement
ngircd-configuration-global
ngircd-configuration-limits
ngircd-configuration-options
@@ -1415,6 +1416,10 @@ for different users. Refer to @samp{man 5 ngircd.conf} for more details.")
(boolean #f)
"Turn on debugging messages."
(serializer empty-serializer))
+ (shepherd-requirement
+ (list-of-symbols '(user-processes))
+ "Shepherd requirements the service should depend on."
+ (serializer empty-serializer))
(global
;; Always use a ngircd-global default to ensure the default addresses
;; listened to are known (used to compute the socket endpoints).
@@ -1583,7 +1588,7 @@ wrapper for the 'ngircd' command."
(define (ngircd-shepherd-service config)
(match-record config <ngircd-configuration>
- (ngircd debug? global ssl)
+ (ngircd debug? global shepherd-requirement ssl)
(let* ((ngircd.conf (serialize-ngircd-configuration config))
(ngircd (file-append ngircd "/sbin/ngircd"))
(addresses (ngircd-global-listen global))
@@ -1594,7 +1599,7 @@ wrapper for the 'ngircd' command."
ports*)))
(list (shepherd-service
(provision '(ngircd))
- (requirement '(user-processes networking syslogd))
+ (requirement shepherd-requirement)
(modules (cons '(srfi srfi-1) %default-modules))
(actions (list (shepherd-configuration-action ngircd.conf)))
(start #~(make-systemd-constructor