Subject: [bug#54375] Mutable guix shell environments

From: Liliana Marie Prikler <[email-masked]>
Date: Mon, 14 Mar 2022 06:19:42 +0100

Hi Charles,

Am Sonntag, dem 13.03.2022 um 23:38 +0000 schrieb Charles:
> Thanks for taking a look Liliana. I'm glad you like guix shell
> detecting a local profile.
> 
> > $ $SHELL
> > $ GUIX_PROFILE=/path/to/profile
> > $ source $GUIX_PROFILE/etc/profile
> 
> This is basically what I was going for. I just find this useful to be
> built in. When I think "guix shell", I think: "make an environment
> where I have everything I need". If I want to adjust what I need, why
> do I need to restart everything from scratch. If I did not know about
> guix shell and did all my development using ~/.guix-profile, this
> functionallity would already be available.
Yes, but it'd also be broken af.  You are focusing on a very particular
use case and ignoring all others.  What if instead of just "a package"
I wanted to add or remove a package that defines a search path, e.g.
Emacs?  In the adding case, EMACSLOADPATH would not get defined and in
the removing case it would still linger.  What you describe as desired
functionality is not at all well-defined.  Using `guix shell --profile'
on the other hand has the same semantics as the other `guix shell'
commands, and is thus imo less confusing once you start to think about
it.

Cheers