guix-devel
[Top][All Lists]
Advanced

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

Re: Wrap %default-guix-channel inside channel-with-substitutes-available


From: Leo Prikler
Subject: Re: Wrap %default-guix-channel inside channel-with-substitutes-available by default?
Date: Wed, 30 Jun 2021 10:25:29 +0200
User-agent: Evolution 3.34.2

Am Mittwoch, den 30.06.2021, 10:11 +0200 schrieb Mathieu Othacehe:
> Hello,
> 
> > I think we do have the obligation to clearly document channels-
> > with-
> > substitutes-available and make it so that this particular piece of
> > documentation can easily be found by everyone who is potentially
> > affected by slow-downs.  Perhaps we might even want to include an
> > option in the installer to set up /etc/guix/channels.scm to only
> > use
> > channels with available substitutes.  But using it as a default
> > without
> > communicating this fact to the users would be a poor idea in my
> > opinion.
> 
> I fear that a lot of users are not aware of this mechanism and do not
> really understand why "guix pull" sometimes starts building stuff. 
> 
> We could maybe proceed this way:
> 
> 1. Enable the channel-with-substitutes-available snippet by default.
> 
> 2. Add a command line option --without-available-substitutes.
> 
> 3. Add a new info message when the fetched commit is not the latest
> commit, to minimize the risk you are mentioning above. Something
> like:
> 
> Skipping N new commits that do not have any available substitutes,
> use the --without-available-substitutes option to update anyway.
I don't think such verbosity leads to a good result, compare the
infamous ". $GUIX_PROFILE/etc/profile" blurb.  I think we should
instead have --with-available-substitutes(*), so that we have

--with-available-substitutes: Only pull stuff, that can be substituted
(default): Pull the latest, don't care about substitutes
--without-substitutes: Pull the latest, never substitute

I think having default in the middle here and no potential for
confusion between --without-available-substitutes and --without-
substitutes is preferable.  WDYT?

Regards,
Leo

(*) Things get a little more complicated if you add other channels.  Of
course Guix CI only hosts the main channel, but what if someone has
Guix Past along with a CI that builds Guix Past (or the same setup
without substitutes)?  When should this logic pull Guix Past and which
commit?




reply via email to

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