summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorAndrew Tropin <andrew@trop.in>2021-12-15 10:25:22 +0300
committerLudovic Courtès <ludo@gnu.org>2021-12-19 23:39:55 +0100
commited818c66d371656c869f43d7a7cbbcfba2df647b (patch)
tree1143caab4cdc8e2b3261e6999d8de1e53ce6daa0 /gnu
parent7e5ed0884482f5ce55c9face4b081d8b16306cd2 (diff)
downloadguix-ed818c66d371656c869f43d7a7cbbcfba2df647b.tar.gz
home: Add gexp-compiler for home-environments.
* gnu/home.scm (home-environment-compiler): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/home.scm10
1 files changed, 10 insertions, 0 deletions
diff --git a/gnu/home.scm b/gnu/home.scm
index d8134693e5..a9f0a469a5 100644
--- a/gnu/home.scm
+++ b/gnu/home.scm
@@ -25,6 +25,8 @@
   #:use-module (gnu services)
   #:use-module (guix records)
   #:use-module (guix diagnostics)
+  #:use-module (guix gexp)
+  #:use-module (guix store)
 
   #:export (home-environment
             home-environment?
@@ -104,3 +106,11 @@ of HOME-PROVENANCE-SERVICE-TYPE to its services."
     (inherit he)
     (services (cons (service home-provenance-service-type config-file)
                     (home-environment-user-services he)))))
+
+(define-gexp-compiler (home-environment-compiler (he <home-environment>)
+                                                 system target)
+  ((store-lift
+    (lambda (store)
+      (run-with-store store (home-environment-derivation he)
+                      #:system system
+                      #:target target)))))