Subject: bug#38529: Make --pure the default for `guix environment'?

From: zimoun <[email-masked]>
Date: Tue, 03 Nov 2020 19:35:32 +0100

Hi,
On Tue, 03 Nov 2020 at 12:38, Christopher Lemmer Webber <[email-masked]> wrote:

>> Ideas on how to achieve it are welcome!

[..]

> It suddenly struck me today that there is an easy way to change the
> default behavior while supporting the legacy behavior.
>
> How about we have a new command, "guix env", what is --ad-hoc by
> default?  Then "guix environment" sticks around as legacy for supporting
> the old interface.  Therefore, "guix env" is doubly short and to the
> point.  :)

Rehashing all that, and because different POV on CLI pops up sometime,
one move should be to have “aliases” [1]; I am sure the idea already
came long time before but I do not find the thread.

My understanding of the situation:

 1- specific "guix foo" case: implement something like Alice proposed
 2- add a mechanism to have aliases.

Replace ’foo’ by ’environment’, ’graph’, ’search’, ’show’, etc.

Let's expand explanations about the #2.

Now with “guix repl“, the user can extend Guix by their own scripts.
Therefore, it could be nice:

  a) to have a location by default (say ~/.config/guix/scripts)
  b) to run them with "guix foo" instead of
  "guix repl -- ~/.config/guix/scripts/foo.scm".

And then, we are all be happy. ;-)

It eases the tests of new experimental command-line tools, one can locally
change the behaviour of “guix environment --ad-hoc“, one can experiment
with new output formats for “guix search“ instead of ’recutils’, etc..

And using channel as “home-manager” or GWL [2] show, we could even
easily exchange them.  Somehow.

Well, the philosophy of custom extensions.

WDYT?

All the best,
simon

1: <http://issues.guix.gnu.org/issue/43477#11>
2: related recent patch by Ricardo:
<https://lists.gnu.org/archive/html/guix-devel/2020-10/msg00505.html>