Subject: Re: [bug#50960] [PATCH 00/10] Add 'guix shell' to subsume 'guix environment'

From: Ludovic Courtès <[email-masked]>
Date: Mon, 04 Oct 2021 10:39:32 +0200

Hi,

zimoun <[email-masked]> skribis:

> On Sat, 02 Oct 2021 at 12:21, Ludovic Courtès <[email-masked]> wrote:
>
>>   2. ‘guix shell’, without arguments, loads ‘guix.scm’ or ‘manifest.scm’
>>      from the current directory or one of its ancestors.
>
> Personally, I do not like this default behaviour because explicit is
> better than implicit and in the face of ambiguity, refuse the temptation
> to guess; as any good Zen says. :-)

It should be clear from the code that I generally prefer explicit over
implicit :-), but I think Dave has a point when talking about
conventions for this kind of developer tool.

>> As for deprecation, I think there’s no rush.  I imagine there could be
>> several phases, like: initially we only mention deprecation in the manual,
>> later on ‘guix environment’ starts emitting a warning, and later (I guess
>> at least two years later, probably more) we ask ourselves whether to
>> remove ‘guix environment’.  At this point keeping it doesn’t cost us much.
>
> Concretely, I propose this plan:
>
>  - v1.4: mention deprecation in the manual and remove from “guix help”
>  - v1.5: emit a warning
>  - v1.6: remove the command

Could be like this.  I guess we could also slow down the plan if we
observe that ‘guix environment’ sticks around longer than we thought.

> Well, I do not see why the removal should be an issue, because there is
> “guix time-machine”.  To me, the real issue is to let people knowing
> such change.

As discussed in <https://issues.guix.gnu.org/38529#17>, removal is an
issue because of existing scripts but also because of learning material
around: MOOCs, articles, tutorials, etc.  These won’t be updated
overnight, and we owe our users stability.

Ludo’.