Subject: bug#43049: Add the ability to install Guix System offline

From: Giovanni Biscuolo <[email-masked]>
Date: Wed, 07 Feb 2024 10:47:35 +0100

Hi Josselin,

first of all, sorry for the confusion: I'm still learning... and I'm
probably still using bad terminilogy from a Guix/Guile developer POV.

Josselin Poiret <[email-masked]> writes:

> Giovanni Biscuolo <[email-masked]> writes:
>
>> Sorry I don't understand the problem, could you expand please?
>>
>> The guix (and daemon) versione are those of the channel used when
>> creating the install .iso image; booting the 1.40 installer we get a
>> "guix version" and "guix describe" value of 989a391...
>
> Not exactly, to include Guix inside the installer image, it somehow
> needs to refer to itself.  The way it used to be done was by using the
> `guix` package, which necessarily is older than the current commit.

OK, in fact I checked starting the guix-1.4 install image in a VM and I
got an older guix in the install system (forgive me for the missing the
details, but this is not important in this context), but the verion
installed on the target was 1.4.0 (so I guess its subsitute was
downloaded from one of the build farms).

> However, we also implemented the `current-guix` hack that basically uses
> a guix checkout at the current guix version as the source for the guix
> package.

So, since some commit, now the guix version used to build the target
system image is the one checked-out by the person/agent running the
install image build script: did I understand it correctly?

> In both cases though, we shouldn't see any differences in other
> package's derivations…

Does this mean you consider possible to pre-populate the /gnu/store
install system (the one started using the install image) with a substet
of substitutes possibly needed in the target system?

I'm wondering if it's possible to create a custom build image (info
"(guix) Building the Installation Image") to do something like this.

Thanks! Gio'

-- 
Giovanni Biscuolo

Xelera IT Infrastructures