all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Guillaume Le Vaillant <glv@posteo.net>
To: Konrad Hinsen <konrad.hinsen@fastmail.net>
Cc: help-guix@gnu.org
Subject: Re: Permanently available environments
Date: Fri, 28 Jan 2022 12:24:39 +0000	[thread overview]
Message-ID: <87tudo2gbh.fsf@kitej> (raw)
In-Reply-To: <m1wnikgluu.fsf@fastmail.net>

[-- Attachment #1: Type: text/plain, Size: 2276 bytes --]

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?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

  parent reply	other threads:[~2022-01-28 13:23 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-28 11:07 Permanently available environments Konrad Hinsen
2022-01-28 11:54 ` Ricardo Wurmus
2022-01-28 12:24 ` Guillaume Le Vaillant [this message]
2022-01-28 17:19 ` Vagrant Cascadian
2022-01-28 18:04 ` Konrad Hinsen
2022-03-08 10:19   ` Ludovic Courtès
2022-03-10 14:11     ` Konrad Hinsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tudo2gbh.fsf@kitej \
    --to=glv@posteo.net \
    --cc=help-guix@gnu.org \
    --cc=konrad.hinsen@fastmail.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.