diff mbox series

[bug#49419,3/4] home-services: Add home-provenance-service-type

Message ID 87sg0ship8.fsf@trop.in
State Accepted
Headers show
Series Essential home services | expand

Checks

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

Commit Message

Andrew Tropin July 5, 2021, 3:41 p.m. UTC
* gnu/home-services.scm (home-provenance-service-type, sexp->home-provenance,
home-provenance): New variables.
---
 gnu/home-services.scm | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/gnu/home-services.scm b/gnu/home-services.scm
index 002a003d65..20a9537650 100644
--- a/gnu/home-services.scm
+++ b/gnu/home-services.scm
@@ -38,7 +38,10 @@ 
 	    home-files-service-type
 	    home-run-on-first-login-service-type
             home-activation-service-type
-            home-run-on-change-service-type)
+            home-run-on-change-service-type
+            home-provenance-service-type
+
+            fold-home-service-types)
 
   #:re-export (service
 	       service-type
@@ -419,3 +422,25 @@  G-expressions to run if the specified files have changed since the
 last generation.  The extension should be a list of lists where the
 first element is the pattern for file or directory that expected to be
 changed, and the second element is the G-expression to be evaluated.")))
+
+
+;;;
+;;; Provenance tracking.
+;;;
+
+(define home-provenance-service-type
+  (service-type
+   (name 'home-provenance)
+   (extensions
+    (list (service-extension
+           home-service-type
+           (service-extension-compute
+            (first (service-type-extensions provenance-service-type))))))
+   (default-value #f)                ;the HE config file
+   (description "\
+Store provenance information about the home environment in the home
+environment itself: the channels used when building the home
+environment, and its configuration file, when available.")))
+
+(define sexp->home-provenance sexp->system-provenance)
+(define home-provenance system-provenance)