Nix is similar to Bazel, supports distributed cache + build + CI (via Hydra), and has a huge amount of existing build support tools. It's not typically used as the only build system though; it's more like glue that wires all your build systems together deterministically. Build steps (derivations) are simple bash scripts executed within a sandbox.
The only catch is that while the language and tools are simple, Nix is really a pure functional language and you have to treat your build process like code rather than config. It's easy to go down rabbit holes...
(I considered Bazel but it's very half-baked and lacks all of Blaze's proprietary toolchain support.)
Comments
Don’t know if it’s just me but looked at Bazel a few weeks ago. Insane levels of complexity for just building multiple NodeJS projects.
Anyone know of anything similar but without that steep learning curve?
Nix is similar to Bazel, supports distributed cache + build + CI (via Hydra), and has a huge amount of existing build support tools. It's not typically used as the only build system though; it's more like glue that wires all your build systems together deterministically. Build steps (derivations) are simple bash scripts executed within a sandbox.
The only catch is that while the language and tools are simple, Nix is really a pure functional language and you have to treat your build process like code rather than config. It's easy to go down rabbit holes...
(I considered Bazel but it's very half-baked and lacks all of Blaze's proprietary toolchain support.)
Cheers, will check it out
Its super simple to use for languages such as python or C++.