Subject: Re: [bug#54375] Mutable guix shell environments

From: Maxime Devos <[email-masked]>
Date: Mon, 14 Mar 2022 18:54:52 +0100

Charles via Guix-patches via schreef op zo 13-03-2022 om 18:21 [+0000]:
> sample useage:
> $ cd project
> $ guix package --manifest=manifest.scm --profile=.guix-profile
> $ guix shell # --profile=.guix-profile is implicit

Alternative suggestion, which IMHO fits the non-persistent naturre of
"guix shell" better:

$ cd project
$ guix shell --allow-temporary-modifications # fails on read-only file systems
$ echo $GUIX_ENVIRONMENT
# a temporary (mutable) profile was created
> $HOME/.cache/.../profile
# install things in the $GUIX_ENVIRONMENT profile
$ guix install foo bar ... 

As noted by lilyp, this won't work in all situations due to search path
issues.  These could be resolved by always setting a few search paths
(PATH, EMACSLOADPATH, GUILE_LOAD_PATH, INFOPATH, ...) (even in not currently
present in the profile!), at cost of having to make them ‘magical’ in some
sense, which ludo does not seem to like IIUC.  (This could also be done
for ~/.guix-profile)

(I don't like it much either, but it seems a very convenient solution that
does not seem to have any concrete downsides and IMHO it seems much better
than telling the user to re-source the profile.)

Greetings,
Maxime.