Ludovic Courtès (2016-04-18 20:20 +0300) wrote: > Alex Kost <alez...@gmail.com> skribis: > >> I've just sent a message to bug#22587¹, but I realized it is better to >> discuss it here in a separate thread. >> >> So, I think there are inconsistencies in guix commands. For example, we >> have "guix system build" to build a system, but "guix build" to build a >> package. IMO "guix package build" would be a better choice. >> >> In general, I think it would be good to move package commands inside >> "guix package", e.g, to make "guix package lint", "guix package size", >> etc. > > Why not consider “package” to be the default word? :-)
Interesting, but why do we need to have "guix package" at all? Let's just use "guix --install", etc. (This is not what I suggest :-)) > I can see how adding “package” everywhere helps categorize things > mentally, but as a user interface, I think it would be rather bad. As a user, I think it would be rather good. (This is just my user opinion) > Also, it’s not that simple: “guix size” can take a store item instead of > a package name, “guix graph” cannot do it yet but it would be useful if > it could (“guix graph -t references $(readlink -f /run/current-system)”), > etc. Hm, OK, I'm not sure, but let's leave "graph" and "size" alone for now. > I still think that having aliases like “guix install” as Andy proposed > long ago would be useful, though I never started working on it. I agree! Except I think they should be inside "guix package": guix package install ... guix package remove ... As for the transactional operations (I mean remove/install in one command), I think we can do it in a separate "guix profile" command: guix profile --install ... --remove ... > There are probably other improvements to do around “guix package” (maybe > turning some of its options into separate sub-commands as was suggested > before.) All we need is a clear view of where we’re going and patches. :-) Here is the summary of the changes I think it would be good to have: | Replace this: | With this: | |-----------------------------------+-----------------------------------| | guix build | guix package build | | guix edit | guix package definition¹ | | guix import | guix package import | | guix lint | guix package lint | | guix refresh | guix package refresh | | guix package --show | guix package show | | guix package --search | guix package search | | guix package --list-available | guix package list | |-----------------------------------+-----------------------------------| | guix package --list-generations | guix profile --list-generations | | guix package --list-installed | guix profile --list-installed | | guix package --delete-generations | guix profile --delete-generations | | guix package --switch-generations | guix profile --switch-generations | | guix package --roll-back | guix profile --roll-back | | guix package --manifest | guix profile --manifest | ¹ "edit" name is confusing: <http://bugs.gnu.org/22587> Maybe instead of --list-generations and others, these options should transform into subcommands (list-generations) of "guix profile". -- Alex