help-guix
[Top][All Lists]
Advanced

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

Re: Install `guix pull'ed Guix to target partition on system install


From: Pierre Neidhardt
Subject: Re: Install `guix pull'ed Guix to target partition on system install
Date: Mon, 21 Dec 2020 15:47:54 +0100

zimoun <zimon.toutoune@gmail.com> writes:

> On Mon, 21 Dec 2020 at 14:33, Pierre Neidhardt <mail@ambrevar.xyz> wrote:
>> zimoun <zimon.toutoune@gmail.com> writes:
>>
>>> Therefore, since the 2 profiles could be seen as independent, I do not
>>> know if it is possible to really improve here; by design.
>>>
>>> The first pull could be long and resource hungry but the second one
>>> should be a bit quicker.  Well, it depends on how many commits are done
>>> in the meantime (between the 2 pulls).
>>
>> Maybe there is a misunderstanding: the first pull happens on the
>> installation media, thus it disappears when I reboot on the installed
>> system.
>
> I am not familiar with the installation process.  I miss where this
> first “guix pull” writes:
>
>  - the cached checkout
>  - the store items

The first "guix pull" write in memory (RAM), so it's all ephemeral.

> I am expecting that the first “pull“ writes both on the target.

Nope! :(

> If not, i.e., it writes on the installation target, yeah it could be
> improved. :-)

No, the first "guix pull" does not write on the installation target.
But I guess that's what you meant ;)

> From your initial message, my understanding was the first pull writes:
>
>  - the cached checkout in /root/.cache/guix/checkouts
>  - the store items in /gnu/store

Which is in memory.

> then your second pull writes:
>
>  - the cached checkout in /home/user/.cache/guix/checkouts
>  - the store items in /gnu/store

After rebooting, so this /gnu/store is _not the same_ as the one during
installation.

> Therefore, the repo is cloned twice and derivations are also computed
> twice; but it seems hard to avoid by design.

Maybe we could fix this by having a "base Guix clone" in the store, and
then when we run Guix pull, it first checks out this store repo, only to
run "git pull" afterwards.  This would save a lot of time.

>> What I think we should do is that when we run `guix system init`, we
>> would copy the checkout to the store, and then when `guix pull` is run
>
> I do not think the checkout is in the store but in
> “/root/.cache/guix/checkouts“, I guess.

Yes, which is a problem I think.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

Attachment: signature.asc
Description: PGP signature


reply via email to

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