Hi, On Tue, 03 Nov 2020 at 12:38, Christopher Lemmer Webber <cweb...@dustycloud.org> 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>