[Nix-dev] nar hashes

Mathijs Kwik mathijs at bluescreen303.nl
Sun Jul 29 15:30:24 CEST 2012


Hi all,

I'm working on a small standalone nix channel server for node.js
Basically it's just enough to nix-push against, but it includes
authentication and auto-cleanup to remove caches that haven't been
touched by the latest push.

I want to include a feature to configure "peers".
A peer is another nix channel server, that is checked when nix-push
probes for some file.
If the file is already at the peer, my server tricks nix-push so it
doesn't push it here too.
This leads to the channel not being self-contained anymore, but it
saves a lot of traffic and storage when most packages in the channel
depend on standard nixpkgs, as only the differences will be stored.

This works fine with my internal tests. However, when using it with
the nixos channel (I know it's down now), it seems all narhashes are
different.
The normal hash, size, and narsize are the same, but that doesn't help
because the NarUrl is based on the hash.

Probably nix slips in some meta info (build host or other) when
building narballs.
Does anyone know more about this? Can I work around it? Or perhaps
it's just that my nixos manifest is a few days old?

Thanks,
Mathijs

Snips from the manifests: https://gist.github.com/3198698
Upper = from nixos manifest
Lower = local channel


More information about the nix-dev mailing list