zimoun writes: > Therefore, the missing store items from the RAM store could be > transferred to installation target via ‘guix archive’. But I don't think `guix pull' looks for a repository in the store. > But I am > surprised that after rebooting this /gnu/store misses items that you > need when you run “guix pull” as root. This is not surprising: when you run "guix pull" from an installation media, there is no /gnu/store on the disk since Guix hasn't been installed to the disk yet. > What I miss in your problem is: > > # guix pull # writes in memory (1) > # guix system init > # reboot > # guix pull # writes in disk (2) > $ guix pull # writes in disk (3) No need for 3. > (1) is slow, (2) should not clone. Is (2) cloning? 1: yes. 2: It would be nice if it could reuse the checkout from 1. > What you are proposing is to improve (3), right? No, 2. > Instead of cloning > from Savannah and so populate ~/.cache/guix/checkouts, you are proposing > that between (1) and (3), «something» creates a store item with the full > clone from Savannah, then (3) copies from this store item to > ~/.cache/guix/checkouts if it does not exist, and run “git pull” > there. Correct but with (2) instead of (3). > But I do not think the “cloning” part is the consuming one here; even if > it obviously depends on the network. On a 6 Mbit/s connection and a modest laptop, this took about 30 minutes! The Guix checkout is huge. Maybe a shallow clone could fix this, but since we've added the introduction commit I don't think it's possible. > And it is does only once in life. ;-) Do you mean installation is something done only once? I beg to differ, I've been using Guix for 2.5 years and already installed it a dozen of times. > Example with a poor network via my smartphone: > > --8<---------------cut here---------------start------------->8--- > [...] > $ rm -fr ~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq > $ time guix pull > Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... > Building from this channel: > guix https://git.savannah.gnu.org/git/guix.git 5ecc0b1 > Computing Guix derivation for 'x86_64-linux'... - > nothing to be done > > hint: After setting `PATH', run `hash guix' to make sure your shell refers to `/home/simon/.config//guix/current/bin/guix'. > > > real 4m15.202s > user 3m8.522s > sys 0m5.010s > --8<---------------cut here---------------end--------------->8--- I wouldn't call this a poor network ;) You can go much worse than that, in my case it took around half an hour. Cheers! -- Pierre Neidhardt https://ambrevar.xyz/