diff mbox series

[bug#59197,1/3] services: shepherd: Define 'shepherd-configuration-action' helper.

Message ID 20221111181246.4217-1-ludo@gnu.org
State New
Headers show
Series Support 'herd configuration SERVICE' to view config file | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success
cbaines/issue success View issue

Commit Message

Ludovic Courtès Nov. 11, 2022, 6:12 p.m. UTC
* gnu/services/shepherd.scm (shepherd-configuration-action): New
procedure.
---
 gnu/services/shepherd.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff mbox series

Patch

diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index 7110e5aa89..b2601c0128 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -66,6 +66,8 @@  (define-module (gnu services shepherd)
             shepherd-action-documentation
             shepherd-action-procedure
 
+            shepherd-configuration-action
+
             %default-modules
 
             shepherd-service-file
@@ -333,6 +335,16 @@  (define shepherd&co
                      #:options '(#:local-build? #t
                                  #:substitutable? #f)))))
 
+(define (shepherd-configuration-action file)
+  "Return a 'configuration' action to display FILE, which should be the name
+of the service's configuration file."
+  (shepherd-action
+   (name 'configuration)
+   (documentation "Display the name of this service's configuration file.")
+   (procedure #~(lambda (_)
+                  (format #t "~a~%" #$file)
+                  #$file))))
+
 (define (shepherd-configuration-file services shepherd)
   "Return the shepherd configuration file for SERVICES.  SHEPHERD is used
 as shepherd package."