[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Permanently available environments
From: |
Guillaume Le Vaillant |
Subject: |
Re: Permanently available environments |
Date: |
Fri, 28 Jan 2022 12:24:39 +0000 |
Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:
> Hi Guix,
>
> I would like to migrate more of my software use to Guix-based
> containers, but I haven't yet found a way to handle them that fully
> suits my needs. The root issue is the volatility of environments, and I
> wonder if I am missing some feature to handle them better. Here is my
> current reasoning:
>
> 1. Containers can only be generated using "guix shell" or the older
> "guix environment". There is no way to generate a container based
> on a profile. Correct me if I am wrong!
>
> 2. I have been using a plain "guix shell" for a while, but my
> environments break too often after a "guix pull" to continue this
> way. Most of my containerized environments contain no
> security-critical software, so I'd be happy not to update them
> very often (or not at all). That would be trivial with profiles,
> but... point 1.
>
> 3. There's the –root option to "guix shell" to protect my environment
> from the garbage collector. But there is no way to say "use the
> environment pointed to by that root, no matter when and how it was
> created". I have to specify the packages with respect to the current
> Guix version (last "pull"). So if I want to protect against updates,
> I have to use "guix time-machine" with "guix shell". Which is fine
> in theory.
>
> 4. In practice, I often work with a bad or non-existing network
> connection, so I must be sure to have all my packages in the store.
> And if I use "time-machine", I must also keep the required Guix
> version locally available. But there is no option for that in
> "time-machine". The Guix versions it downloads are garbage-collected
> after a while. So I can find myself in the situation of having all
> the packages for my environment in the store, but unable to access
> it without a network connection, because "time-machine" first needs
> to fetch an old Guix version again.
>
> Did I overlook anything?
>
> Cheers,
> Konrad
Hi,
Wouldn't creating a profile with something like
guix package -m path/to/manifest.scm -p path/to/profile
and then loading it with
guix shell -q -C -p path/to/profile
do what you want?
signature.asc
Description: PGP signature