Konrad Hinsen 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?