Subject: Re: [bug#36162] [PATCH 0/4] Add 'remote-eval'

From: Ricardo Wurmus <[email-masked]>
Date: Tue, 11 Jun 2019 15:26:40 +0200

Ludovic Courtès <[email-masked]> writes:

> This patch series add ‘remote-eval’, which takes a gexp, remotely deploys
> everything the gexp refers to, and evaluates it (see
> <https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00127.html> for
> the initial discussion.)  So you can have gexps like:
>
>   #~(execl #$(file-append ffmpeg "/bin/ffmpeg") …)
>
> When you evaluate it, this specific ‘ffmpeg’ will be deployed over there.
> Another example is:
>
>   (with-imported-modules (source-module-closure '((gnu services herd)))
>     #~(begin
>         (use-modules (gnu services herd))
>         (map live-service-provision (current-services))))

> This gexp, when evaluated remotely, will use your very own (gnu services
> herd) module and the corresponding Guile (so if you’re on Guile 3 and the
> remote is still on Guile 2, that’s fine: Guile 3 will first be deployed
> there.)
>
> ‘remote-eval’ allows you to build locally and send the build results,
> or to send the derivations and build remotely.

This is great and just what I need for the install-berlin.scm script in
the “maintenance” repository where I need to deploy a particular version
of Guix to the target system before using that version of Guix to
reconfigure the remote system.

Thank you!

--
Ricardo