[Nix-dev] Ideas for a NixOS-related bachelors thesis?

Eelco Dolstra eelco.dolstra at logicblox.com
Sun Nov 1 18:58:19 CET 2015


Hi,

On 01/11/15 18:17, Ericson, John wrote:

> This is perhaps a bigger project, and one that would require C++, but I think a
> lack of the intentional store[1] is the single biggest missing feature for Nix.
> 
> On 29-10-2015 13:28:10, Erik Rybakken wrote:
> 
>      The IPFS-thing would be a channel with a binary cache, not a
>     /nix/store!
> 
> 
> I really want IPFS too, but we can only use it correctly once we have the
> intentional store.

Without an intentional store, IPFS could be used to store the NARs of the binary
cache, since those can be content-addressed. This is already the case for
cache.nixos.org:

$ curl
http://cache.nixos.org/nar/1ssnjdbi6jc9729gql4par7g03jz0r52xawkck1kdik4h5ij894g.nar.xz
\
  | nix-hash --type sha256 --flat --base32 /dev/stdin
1ssnjdbi6jc9729gql4par7g03jz0r52xawkck1kdik4h5ij894g

The .narinfo files should be stored somewhere else, though, since they're not
content-addressed. However, even in the intensional model, you would need
non-content-addressed files (namely the .drv -> output path mappings).

> We can also ditch SQLite by
> just storing everything in IPFS.

Well, you still need to keep track of the metadata of the local store somewhere
(if only for caching), which may as well be in SQLite.

-- 
Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/


More information about the nix-dev mailing list