summaryrefslogtreecommitdiff
path: root/gnu/system.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-11-30 18:05:07 +0100
committerLudovic Courtès <ludo@gnu.org>2019-12-07 00:59:56 +0100
commit33b7cb7a595aa33051648039d417338110e5a45e (patch)
tree8df25d15565b5180b4bc17af7d9eeeb3101c3d10 /gnu/system.scm
parent362bcdb1b076c8c46f71781add56dfbe532736dc (diff)
services: Add 'provenance-service-type'.
* gnu/services.scm (object->pretty-string) (channel->code, channel->sexp, provenance-file) (provenance-entry): New procedures. (provenance-service-type): New variable. * gnu/system.scm (operating-system-with-provenance): New procedure. * doc/guix.texi (Service Reference): Document 'provenance-service-type'.
Diffstat (limited to 'gnu/system.scm')
-rw-r--r--gnu/system.scm10
1 files changed, 10 insertions, 0 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 96c2b5aad3..abdbb081e6 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -110,6 +110,7 @@
system-linux-image-file-name
operating-system-with-gc-roots
+ operating-system-with-provenance
boot-parameters
boot-parameters?
@@ -540,6 +541,15 @@ bookkeeping."
gc-root-service-type roots)
(operating-system-user-services os)))))
+(define* (operating-system-with-provenance os #:optional config-file)
+ "Return a variant of OS that stores its own provenance information,
+including CONFIG-FILE, if available. This is achieved by adding an instance
+of PROVENANCE-SERVICE-TYPE to its services."
+ (operating-system
+ (inherit os)
+ (services (cons (service provenance-service-type config-file)
+ (operating-system-user-services os)))))
+
;;;
;;; /etc.