help-guix
[Top][All Lists]
Advanced

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

Re: pulling from my personal channel only - is this possible ?


From: Simon Streit
Subject: Re: pulling from my personal channel only - is this possible ?
Date: Thu, 02 Sep 2021 10:33:23 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Andreas Reuleaux <rx@a-rx.info> writes:
> OK, once more: I am beginning to understand your idea:
>
> you are fixing the guix core channel to a specific commit:
> "9edb3f66fd807b096b48283debdcddccfea34bad" here, i.e. from Saturday,
> Aug 28 2021

Yes, the channel is fixed and thus not pulled.

> Maybe it is not the pulling itself that is so expensive, but
> "Computing the Guix derivation..." (that is part of the pull command
> as well apparently) ?
>
> Is it necessary to always have a complete Guix derivation built, when
> I just want to update my system with some changes of my own?

Yes, as far as I understand, for any pull a new derivation has to be
built to reflect any change, but only as long as a commit has changed,
and as a result of any package definition being modified.  This is an
inherent design of Guix, that derivations ought to be built.  Someone
better correct me on this statement.  Changes are that I didn't get it
right. There is more to read about it, and substantial work is been done
to reduce build times. [1] [2]

[1] https://guix.gnu.org/manual/en/html_node/Derivations.html
[2] 
https://guix.gnu.org/en/blog/2021/building-derivations-how-complicated-can-it-be/

> Summary line: I guess I am beginning to understand your idea, but it
> practice it does not make a difference, as each pull still takes more
> then 50sec.

It might not, but it might help that while you are developing on your own
channel, you do not want to surprisingly upgrade your profile because
Guix' main channel pushed an update in the mean time.  That can cost a
lot of space, and more time and also, say, even a dependency on your
package could change too.

Yes, I've noticed that all pulls take time.  There's a reason why I keep
my old laptop at certain commits for longer periods now.  It simply
dosn't have the resources to do this.  I do all the tricks -- offloading,
package sharing -- to speed up the upgrade process.

While looking around, supplying your package definitions from a file
that can be found in within ‘GUIX_PACKAGE_PATH’ [3] gives you the
ability to pass on packages that do not need to be part of any channel.

[3] 
https://guix.gnu.org/en/cookbook/en/html_node/GUIX_005fPACKAGE_005fPATH.html#GUIX_005fPACKAGE_005fPATH


Regards



reply via email to

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