guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: delete-generations or --delete-generations?


From: Leo Famulari
Subject: Re: delete-generations or --delete-generations?
Date: Thu, 9 Sep 2021 09:47:46 -0400

On Wed, Sep 08, 2021 at 10:59:33PM +0200, Ludovic Courtès wrote:
> zimoun <zimon.toutoune@gmail.com> skribis:
> > I speculate too. :-) I guess because the idea behind “guix system” is
> > one action at a time however “guix package” can compose actions in one
> > transaction (guix package --install=foo --remove=bar).  Using the
> > default CLI parser (SRFI-37), it seems easier for composing to use the
> > options (--<name-it>) than to extract actions.  For instance, if it was
> > “guix package <action>” as it is with “guix system”, then it is harder
> > to parse the composition, i.e.,

Makes sense.

> Yeah, long ago Alex Kost and others proposed turning some of the current
> ‘guix package’ options into sub-sub-commands of a new ‘guix profile’
> sub-command: ‘guix profile install foo’, ‘guix profile
> delete-generations’, etc.

That's an interesting idea and might help to educate new users on
'profiles', which is a crucial concept for Guix but sometimes learned
later than would be ideal.

One of the good things about Guix compared to Nix (and most distros) is
that the command-line interface is more discoverable and consistent (and
composable!). So, we should try to keep improving it in that direction.
Although in my opinion we should also be careful not to change it too
radically.

I think that adding `guix system --delete-generations` et al would not
be confusing for anyone.

> It may be consistent but maybe a bit far-fetched and annoying to type…

`guix profile` is more correct and consistent, although it would
represent a major change in the command-line interface, which I figure
would hurt usability. Just think of all the "how to use Guix" guides
that people have written; they'd all become stale.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]