Subject: bug#40549: More usability issues:

From: Tom <[email-masked]>
Date: Thu, 23 Apr 2020 21:51:36 +0200

To add detail here:

Doing `guix package -d 18 -S 17` actually works.

This gives me the impression that the order of arguments is relevant to the 
processing of them.
This sounds like a bad idea because that is quite unlike the normal gnu 
command line parsers behavior (and generally any command line parsers, unless 
in very rare cases).

The 'package' subcommand should likely always try to do things in-order. First 
Switch, reject any second Switch argument.
Then delete (which can be repeated).
Etc.

That would be much more predicable and UX friendly.

Another, similar, example is:

   guix package -l --profile=a

this doesn't work. But the most curious thing is that this does:

   guix package --list-installed --profile=a

and this too:

   guix package --profile=a -l

and this too;

   guix package -l --profile=a -l

The things that DONT work are confusingly similar to the things that do, and 
the things don't make sense (having -l twice) work just fine without errors.

As said, this is a UX gem to fix. Please take some time to make command line 
parting usable by humans!