unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Wrap %default-guix-channel inside channel-with-substitutes-available by default?
@ 2021-06-29 20:12 Mekeor Melire
  0 siblings, 0 replies; 4+ messages in thread
From: Mekeor Melire @ 2021-06-29 20:12 UTC (permalink / raw)
  To: guix-devel

I think, by default, the focus should be on speeding up Guix (and
specifically `guix pull`). I suggest to wrap %default-guix-channel
inside channel-with-substitutes-available, like this:

(define %default-channels
  (list (channel-with-substitutes-available
    %default-guix-channel
    "https://ci.guix.gnu.org")))

This way, beginners would enjoy a little speed-up, and sophisticated
users could still use (list %default-guix-channel).

What do you think?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Wrap %default-guix-channel inside channel-with-substitutes-available by default?
@ 2021-06-29 21:50 Leo Prikler
  2021-06-30  8:11 ` Mathieu Othacehe
  0 siblings, 1 reply; 4+ messages in thread
From: Leo Prikler @ 2021-06-29 21:50 UTC (permalink / raw)
  To: mekeor; +Cc: guix-devel

I think the potential to confuse new users with this enabled by default
is higher than without it.  Assume that Alice just sent a bug report to
Guix, that has been closed or has otherwise been made aware of some bug
affecting a software she uses, for which a fix has been pushed. 
Naturally, she's going to run `guix pull' to test it out, and… not see
any difference to the system she currently had.

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.

Regards,
Leo



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Wrap %default-guix-channel inside channel-with-substitutes-available by default?
  2021-06-29 21:50 Leo Prikler
@ 2021-06-30  8:11 ` Mathieu Othacehe
  2021-06-30  8:25   ` Leo Prikler
  0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Othacehe @ 2021-06-30  8:11 UTC (permalink / raw)
  To: Leo Prikler; +Cc: mekeor, guix-devel


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.

WDYT?

Thanks,

Mathieu


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Wrap %default-guix-channel inside channel-with-substitutes-available by default?
  2021-06-30  8:11 ` Mathieu Othacehe
@ 2021-06-30  8:25   ` Leo Prikler
  0 siblings, 0 replies; 4+ messages in thread
From: Leo Prikler @ 2021-06-30  8:25 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: mekeor, guix-devel

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?



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-06-30  8:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-29 20:12 Wrap %default-guix-channel inside channel-with-substitutes-available by default? Mekeor Melire
  -- strict thread matches above, loose matches on Subject: below --
2021-06-29 21:50 Leo Prikler
2021-06-30  8:11 ` Mathieu Othacehe
2021-06-30  8:25   ` Leo Prikler

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).