[Nix-dev] reproducable systems at a (much) later point / archive.org

Bjørn Forsman bjorn.forsman at gmail.com
Thu Jan 10 23:00:47 CET 2013


On 9 January 2013 10:27, Florian Friesdorf <flo at chaoflow.net> wrote:
> Bjørn Forsman <bjorn.forsman at gmail.com> writes:
>> On 9 January 2013 07:38, Florian Friesdorf <flo at chaoflow.net> wrote:
>> [...]
>>> Thoughts?
>>
>> I really like it. I think supporting additional source mirrors is a
>> must-have feature :-)
>>
>> I have a long term plan to use NixOS for all my systems: desktop,
>> server and embedded.
>
> Same here :)
>
>> For embedded it is especially important to be
>> able to rebuild the exact same system, maybe years later. This
>> requires a local copy of all sources and a completely offline build.
>>
>> Here is my idea for nix[1]:
>>
>> * have a mirror on nixos.org where all sources hydra downloads are
>> put. (Whether this mirror is checked before or after the upstream URL
>> is irrelevant to me.)
>
> hydra already does that. All fetched sources are put into the store.
> They are later removed by garbage collection. This can be configured.

Ok. Thanks for telling me.

> However, we (currently) do not have the disk space to pull this off.

Is it that bad? How much disk space does the current build farm have?
I'd like to donate money for extra disk space. How do I do that?

>> * add a config option for users to provide an URL for their own
>> private mirror. If emtpy, nothing happens. If non-empty, nix tries
>> this mirror first (to speed up build). The mirror option should handle
>> file:// URLs as well as ftp://, http:// etc.
>
> There is NIX_OTHER_STORES (see e.g. man nix-env). If nix finds a source
> in other stores it will copy it from there.

Nice! I must definitely learn more about nixos :-)

>> * a config option to make nix error out if the private mirror doesn't
>> contain all sources needed for a build. Or, by any means, check that
>> you have a mirror of all sources needed for a build.
>
> I think this is the same as saying "please realise all fixed output
> derivations" (see Michael Raskin on "going offline")

Ok, I'll look it up.

>> * a config option that, if non-empty, is an URL for nix to store all
>> sources it downloads. This could be set to the private mirror URL so
>> that the mirror builds itself.
>
> The local store is doing that, (see man nix.conf the *-keep-* variable).
> The sources of a derivation are outputs of that derivation. But as they
> are not linked into profiles they would normally get garbage collected.

Thanks. I'll try to read up on that too :-)

Best regards,
Bjørn Forsman


More information about the nix-dev mailing list