deploy: Use all machine modules when loading deployment
authorJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
Wed, 7 Aug 2019 12:43:27 +0000 (08:43 -0400)
committerChristopher Lemmer Webber <cwebber@dustycloud.org>
Wed, 7 Aug 2019 20:05:58 +0000 (16:05 -0400)
* guix/scripts/deploy.scm (load-source-file): Enumerate and include all
submodules of (gnu machine) when loading the provided deployment
specification.

guix/scripts/deploy.scm

index 52bba3f..ebc99e5 100644 (file)
@@ -19,6 +19,7 @@
 
 (define-module (guix scripts deploy)
   #:use-module (gnu machine)
+  #:use-module (guix discovery)
   #:use-module (guix scripts)
   #:use-module (guix scripts build)
   #:use-module (guix store)
@@ -74,7 +75,10 @@ Perform the deployment specified by FILE.\n"))
 
 (define (load-source-file file)
   "Load FILE as a user module."
-  (let ((module (make-user-module '((gnu) (gnu machine) (gnu machine ssh)))))
+  (let* ((guix-path (dirname (search-path %load-path "guix.scm")))
+         (environment-modules (scheme-modules* guix-path "gnu/machine"))
+         (module (make-user-module (append '((gnu) (gnu machine))
+                                           environment-modules))))
     (load* file module)))
 
 (define (guix-deploy . args)