[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guix environment --load vs. --file inconsistency
From: |
Robin Templeton |
Subject: |
Re: guix environment --load vs. --file inconsistency |
Date: |
Fri, 24 Sep 2021 16:54:29 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Ludovic Courtès <ludo@gnu.org> writes:
> Hi Attila,
>
> Attila Lendvai <attila@lendvai.name> skribis:
>
>> i was writing the documentation of a guix.scm file, and i realized that
>> there's an inconsistency among the three most used commands in this context:
>>
>> so, there's:
>> - guix build --file
>> - guix package --file
>>
>> and then there's:
>> - guix environment --load
>> - guix pack # has neither
>>
>> i'd propose to change guix environment to also use --file, but maybe i'm
>> overlooking something, so, please speak up if you think it's a bad idea!
>>
>> i never used guix pack, but maybe that also deserves a --file argument?
>
> Good point. ‘--file’ predates ‘--manifest’; we could perhaps deprecate
> ‘--file’ in favor of ‘--manifest’, though I think there’s one special
> case not handled elsewhere:
>
> guix build -f foo.json
>
> We need to do something about it.
>
> ‘guix environment --load’ could be similarly deprecated, either to be
> eventually removed or to be renamed to ‘--file’.
>
> Thoughts?
FWIW, I use 'guix build -f' all the time, 'guix package -f'
occasionally, and 'guix environment -l' once in a while, too -- much
more frequently than the manifest-oriented versions. (And I do find it
confusing that 'environment' uses '-l' rather than '-f'; IMHO it would
be a nice improvement for UI consistency to have '-f'/'--file' permitted
as an alternative for '-l'/'--load' there.) I often write simple
packages in individual files, outside of the guix repo or any kind of
proper channel setup, and I don't see much point in requiring every such
package to have its own single-package manifest, although it wouldn't be
too difficult if it were required (just extra boilerplate for standalone
package files).