Andreas Reuleaux <r...@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