Incremental package builds by Guillaume Maudoux (layus) (NixCon 2017)
Channel: NixCon
Date: 2017-10-31

The current CI infrastructure around nixpkgs has difficulties to build the whole package set in due time. While there were attempts to build every pull requests, these are not enabled by default because it requires even more resources. We will explore how to optimize even more the build process to meet the size of nixpkgs. We will survey with state-of-the-art build systems like scons, bazel and tup to see how we could improve incremental builds in nix. Based on nix-make, we will describe how nix could cooperate with the build tool of a given package to bring incremental builds at a finer granularity. In particular, we will explore how the intensional store model (as used by bazel for example) could help avoiding some mass rebuilds.

Bazel: https://schedule.nixcon2017.org/https://bazel.build
Tup: https://schedule.nixcon2017.org/https://gittup.org/tup
Nix-Make: https://schedule.nixcon2017.org/https://github.com/edolstra/nix-make