diff mbox series

[bug#36954] deploy: Use all machine modules when loading deployment

Message ID 87mugl4040.fsf@sdf.lonestar.org
State Accepted
Headers show
Series [bug#36954] deploy: Use all machine modules when loading deployment | expand

Commit Message

Jakob L. Kreuze Aug. 7, 2019, 12:43 p.m. UTC
* 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 | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Christine Lemmer-Webber Aug. 7, 2019, 8:07 p.m. UTC | #1
Merged and pushed, thanks!

Jakob L. Kreuze writes:

> * 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 | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm
> index bc1d93a93a..6a67985c8b 100644
> --- a/guix/scripts/deploy.scm
> +++ b/guix/scripts/deploy.scm
> @@ -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)
> @@ -73,7 +74,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)
diff mbox series

Patch

diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm
index bc1d93a93a..6a67985c8b 100644
--- a/guix/scripts/deploy.scm
+++ b/guix/scripts/deploy.scm
@@ -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)
@@ -73,7 +74,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)