This is a good analysis. A potential option for his proposed build output format is <a href="http:&#x2F;&#x2F;nixos.org&#x2F;nix&#x2F;" rel="nofollow">http:&#x2F;&#x2F;nixos.org&#x2F;nix&#x2F;</a> expressions.<p>Nix is already kind of a fusion of a package manager and a build system. It&#x27;s rather mature, has a decent ecosystem and does a lot of what he is looking for:<p>- Complete determinism, handling of multiple versions, total dependency graphs
- Parallel builds (using that dependency graph)
- Distribution<p>One major benefit of a solution like generating Nix files over compiler integration is that it works for cross-language dependencies. A lot of the time integrated solutions break down is for things like if a C extension of a Ruby gem relies on the presence of imagemagick. Nix has no problem handling that kind of dependency.<p>Also of course it is a lot less work to generate Nix expressions than it is to write a package manager. There are already scripts like <a href="https:&#x2F;&#x2F;github.com&#x2F;NixOS&#x2F;cabal2nix" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;NixOS&#x2F;cabal2nix</a> which already solve problems of the packaging system they replace.