wigust pushed a commit to branch wip-guix-home
in repository guix.
commit 46c090b507ef2cc6c1c742f9e916ccb6a7338768
Author: Andrew Tropin <[email protected]>
AuthorDate: Thu Aug 5 08:46:58 2021 +0300
home-services: Add home-provenance-service-type.
* gnu/home-services.scm (home-provenance-service-type,
sexp->home-provenance,
home-provenance): New variables.
Signed-off-by: Oleg Pykhalov <[email protected]>
---
gnu/home-services.scm | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/gnu/home-services.scm b/gnu/home-services.scm
index 32b59f5..d320d3a 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
@@ -467,3 +470,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)