(address . guix-patches@gnu.org)
* 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(-)
Toggle diff (44 lines)
diff --git a/gnu/home-services.scm b/gnu/home-services.scm
index fadad3133e..ffcee22bb8 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)
--
2.32.0