First of all, thanks to @parkan of Protocol Labs for soliciting the Nix community in Nix and IPFS · Issue #859 · NixOS/nix · GitHub. We at Obsidian Systems talked things over, submitted a proposal to the IPFS Grants Platform, and it has recently been accepted!
IPFS is a peer-to-peer network for storing and sharing data in a distributed filesystem. It has been remarked before that Nix and IPFS would be useful integrated together and we are very excited to make this happen.
Here is where we think that IPFS and our plan can help make Nix even better:
-
Beating source bit-rot: sources can be stored and shared via IPFS so we don’t lose the data needed to reproduce builds.
-
Distributing builds via IPFS: builds can be distributed peer-to-peer, so a popular cache could have less hosting costs as it grows.
-
Content-addressed derivations: RFC 62 is necessary for using IPFS to its full potential, so we’ll be working with existing community efforts towards content addressibility.
-
Trustless remote building: Nix users shouldn’t need to be trusted to utilize remote builders. The internal changes to Nix which we need for IPFS support get us most of the way there, so we’ve gone ahead and included this feature as part of our plan.
Beyond all of these features, IPFS is a great like-minded technology which can help to make our storage and networking infrastructure as revolutionary as the ideas within Nix itself. This is just the beginning, and I’m sure many more great things are to follow.
You can read the details of our proposal at Propose Open Grant Nix × IPFS by Ericson2314 · Pull Request #43 · ipfs/devgrants · GitHub.