guix-devel
[Top][All Lists]
Advanced

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

Re: Reorganizing guix package commands


From: Alex Kost
Subject: Re: Reorganizing guix package commands
Date: Tue, 19 Apr 2016 13:37:42 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Taylan Ulrich "Bayırlı/Kammer" (2016-04-19 12:17 +0300) wrote:

> Alex Kost <address@hidden> 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



reply via email to

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