Hi,

On Mon, 27 Jun 2022 at 15:49, Emmanuel Medernach 
<[email protected]> wrote:

> [Machine A]$ guix package --list-installed  | sort | awk '//{ print $1 
> "@" $2; }'
> [email protected]
> [email protected]
> [email protected]
> [email protected]
> [email protected]
> [email protected]
> [email protected]
> [email protected]

Instead, it seems easier to run:

    guix package --export-manifest
    

> But on machine B:
>
> [Machine B]$ cat ~/.config/guix/channels.scm
> (list (channel
>          (name 'guix)
>          (url "https://git.savannah.gnu.org/git/guix.git";)
>          (commit
>            "a0178d34f582b50e9bdbb0403943129ae5b560ff")
>          (introduction
>            (make-channel-introduction
>              "9edb3f66fd807b096b48283debdcddccfea34bad"
>              (openpgp-fingerprint
>                "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA")))))

Did you run “guix pull” or “guix pull -C ~/.config/guix/channels.scm”?


> [Machine B]$ guix install [email protected] [email protected] [email protected] 
> [email protected] [email protected] [email protected] [email protected] [email protected]
> guix install: error: glibc: package not found for version 2.33

I guess “guix describe” on ’Machine B’ is not the state specified by
’Machine A’.  From my understanding, the easiest workflow is:

machine-A$ guix describe -f channels > state-A.scm
machine-A$ guix package --export-manifest > pkgs-A.scm

exchange these 2 files (even, it is better that these 2 files are
versioned with the project itsefl ;-))

machine-B$ guix time-machine -C state-A.scm \
                package -m pkg-A.scm        \
                -p profile-A


This way, the global state of ’Machine B’ is unchanged; in case you are
working on several projects at various states in the same time.

Hope that helps,
simon

Reply via email to