Taylan Ulrich "Bayırlı/Kammer" (2016-04-19 12:17 +0300) wrote: > Alex Kost <alez...@gmail.com> writes: > >> 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> > > How about "view"? ("Definition" is so long.)
I prefer "definition", but it's just my opinion. Maybe we can use the same feature as some other software use, like you can write: "ip address" or "ip addr" or even "ip a". I.e., if some portion of characters defines a subcommand name unambiguously, it's ok to use. So this could become "guix package def" or "guix package d" if there will be no other subcommands beginning with "d". I think it would be a great feature (I already wish to write "guix env" or "guix sy re" :-)). I think it is for a separate thread though. >> Maybe instead of --list-generations and others, these options should >> transform into subcommands (list-generations) of "guix profile". > > Yeah, seems more consistent. > > I don't have a strong opinion on this whole thing but I think a clear > and logical categorization like the above would be a good base. One > could then add abbreviations on top of it like: > > guix install -> guix package install > > Hmm, or does 'install' belong to 'profile'? Or should the whole thing > be called 'guix profile add'? "Install" kinda implies that something > new will be installed into the system, rather than just some symlinks > shuffled. (One can see the building or downloading as a special case / > transparent handling of the case where the package to be added to the > profile is not in the store yet.) Yes, this is controversial. I think it would be clean to separate profile stuff into a separate command ("guix profile"). As for adding "guix package install/remove", I don't really know. > BTW if it is to become e.g. 'guix profile add', then combining an > add/remove in one transaction (if it's important to keep that feature) I think this is a very important feature. > could look like: > > guix package add foo bar -- remove baz bat To be honest I don't like it. There is also "upgrade" which can be performed along with install and remove. But I like "--add" instead of or along with (as they may just co-exist and do the same thing) "--install" in a potential "guix profile" command. -- Alex