Comment by mrbombastic
Comment by mrbombastic 4 days ago
How do you get caching of build steps with this approach? Or do you just not?
Comment by mrbombastic 4 days ago
How do you get caching of build steps with this approach? Or do you just not?
My experience with nix, at a smaller scale than what you're talking about, is that it only worked as long as every. single. thing. was reimplemented inside nix. Once one thing was outside of nix, everything exploded and writing a workaround was miserable because the nix configuration did not make it easy.
Even just makefiles have 'caching', provided you set dependencies and output correctly.
A good makefile is really nice to use. Not nice to read or trace unfortunately though.
We get them with docker.
Everything becomes a container so why not use the container engine for it. If you know how layers work…
Use a modern hermetic build system with remote caching or remote execution. Nix, Bazel, buck, pants. Many options