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

Florian Friesdorf flo at chaoflow.net
Wed Jan 9 10:27:07 CET 2013


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.

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

> * 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.

> * 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")

> * 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.

-- 
Florian Friesdorf <flo at chaoflow.net>
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: flo at chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
Url : http://lists.science.uu.nl/pipermail/nix-dev/attachments/20130109/8fbe630e/attachment.bin 


More information about the nix-dev mailing list