Hi, Updating:
--8<---------------cut here---------------start------------->8--- $ guix pull -p /tmp/new Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... Authenticating channel 'guix', commits 9edb3f6 to 3bd7d7e (74 new commits)... Building from this channel: guix https://git.savannah.gnu.org/git/guix.git 3bd7d7e substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0% substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%guix substitute: warning: bordeaux.guix.gnu.org: connection failed: Connection refused substitute: substitute: looking for substitutes on 'https://guix.bordeaux.inria.fr'... 100.0% substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0% substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0% module-import-compiled 1.3MiB 755KiB/s 00:02 ▕██████████████████▏ 100.0% module-import-compiled 1.3MiB 667KiB/s 00:02 ▕██████████████████▏ 100.0% building /gnu/store/235dhgh8brdi5w662rqgk76844s8jw9v-module-import.drv... building /gnu/store/hvwvyc8pqzgxz52dmvmfn5g3fg335cyd-module-import.drv... building /gnu/store/dyr1bs9f2abkrds7wmaif4a97idklr4p-compute-guix-derivation.drv... Computing Guix derivation for 'x86_64-linux'... - The following derivations will be built: /gnu/store/946qvmyl7n8cndzbqbp99gyd379vn014-guix-extra-modules.drv /gnu/store/fxwhk243hfdwskwp1krlc1zjw9w0mh9z-guix-packages-modules.drv /gnu/store/g3ffypy02pbvy4dq2rc3fg84da55r40h-guix-system-modules.drv /gnu/store/kdyyfn4fza286igpqnciqvg43avn0z23-guix-cli-core-modules.drv /gnu/store/m2qzyrrjpxmwqbn41syl0jvrx1dpmcy8-guix-home-modules.drv /gnu/store/mxxbbmhz37lrb3n6fsh90y7cwpckkgld-guix-system-tests-modules.drv /gnu/store/nc018hvxh4h33a969v8khkkjqk6j7cak-guix-packages-base-modules.drv /gnu/store/apc9bpz83sxn6nnf7vhmlsdvgwzjf6ax-config.scm.drv /gnu/store/wzlkml2bxgaf6li0ayzk72s9b038f8ff-guix-config-source.drv /gnu/store/zas3mxpxi156qi4nl5v1xs2ikx806ck7-guix-config.drv /gnu/store/p0248v4zg0gi4l5gi964hygbfhik0vw6-guix-config-modules.drv /gnu/store/s4z84fj9qi731nhaxprymvi7k35d8w4k-guix-cli-modules.drv /gnu/store/i4kqpxj22nsr576z3c01zpvrjj75zki5-guix-3bd7d7ef1-modules.drv /gnu/store/c0nl8bhr9wpk7qvbbrmb72bipmc1vm6h-guix-module-union.drv /gnu/store/qz58745nijdcalvja5ml82rnsmz80n7v-guix-command.drv /gnu/store/7sg7zmci0g4mc047159p546b9ni4f558-guix-daemon.drv /gnu/store/vv056h33070z9jr32yjxq89mpgm22ib9-guix-3bd7d7ef1.drv /gnu/store/r1m7ir60shl4yvigly500w9n6icfbydz-profile.drv /gnu/store/hp74iwxy4cms52igwg6m5l0qwfqydnmw-inferior-script.scm.drv /gnu/store/22hf00y7dpngilkz16wqcvaavki3xz1z-profile.drv [...] --8<---------------cut here---------------end--------------->8--- So far, so good! And now the new Guix points to git.guix.gnu.org, cool! --8<---------------cut here---------------start------------->8--- $ /tmp/new/bin/guix describe Generation 1 Jun 17 2025 18:53:43 (current) guix 3bd7d7e repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 3bd7d7ef19c199554c29925a84f53fcb4f4e9016 --8<---------------cut here---------------end--------------->8--- Then I’m surprised by triggering more computations than I thought with: --8<---------------cut here---------------start------------->8--- $ /tmp/new/bin/guix pull --commit=3bd7d7ef19c199554c29925a84f53fcb4f4e9016 Updating channel 'guix' from Git repository at 'https://git.guix.gnu.org/guix.git'... Building from this channel: guix https://git.guix.gnu.org/guix.git 3bd7d7e [...] The following derivations will be built: /gnu/store/rcjdlsqna541y30xji0bhy100744fi85-config.scm.drv /gnu/store/936h1vi87vcs7n0nwyvqp2hibav9cm2m-guix-config-source.drv /gnu/store/18kj93jg5hslyx8jfc798kivhckgny56-guix-config.drv /gnu/store/p5zqlxk5j07sbkvj4w3rmhp5phyrbmnq-guix-config-modules.drv /gnu/store/k85n52wjwgvkvw9pwissycbyi9jc3f84-guix-3bd7d7ef1-modules.drv /gnu/store/855k646wf0mn1fqmr8iyyjmsdgdrv0j5-guix-module-union.drv /gnu/store/6k770p6l1wfhh52vcyl577c0z29y7rhq-guix-command.drv /gnu/store/gpfzgksgrbqb1bvz5qkavdjzlg1w9q4z-guix-daemon.drv /gnu/store/aclxllkkdxli1dx0p6j8npaqm4giq498-guix-3bd7d7ef1.drv /gnu/store/sgyr79ycppf2yvaqf6q89kgq9w7cirvy-profile.drv /gnu/store/vjapj9y8ca04ildnxshbawzwyind98cz-inferior-script.scm.drv /gnu/store/8d2j2acmfg5zbcsp8ayqa8js8xzpvn80-profile.drv [...] --8<---------------cut here---------------end--------------->8--- My question was: Why does it need to recompute all that since it’s the exact same commit? Well, “all that” builds very fast. :-) That’s my question buy why. In other words, since everything is essentially content-addressed, if a meaningless difference is at the root then all the hashes are different. Here the difference comes from config.scm-builder which stores the URL. (define %channel-metadata (quote (repository (version 0) (url "https://git.guix.gnu.org/guix.git") (branch "master") (commit "3bd7d7ef19c199554c29925a84f53fcb4f4e9016") (name guix) (introduction (channel-introduction (version 0) (commit "9edb3f66fd807b096b48283debdcddccfea34bad") (signer "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))) Therefore, the derivation guix-3bd7d7ef1.drv and its output are not exactly the same depending on which URL it comes from. My question reads: Why do we need to store this URL information in the builders? Or in the outputs? Somehow, because of this, it defeats the essentially content-addressed, no? It would appear to me better to have all the derivations for configuring and building independent of these metadata and maybe just keep them in the profile derivation. Can someone explain me the rationale to keep this metadata inside the configuration builders? Thanks in advance. :-) Cheers, simon