Requiring reproducible builds to handle translations or images is a bit much. Also, if it's cached on a central server, that now means you need to be connected to that central server. If you require a connection to said central server, why not just have your source code on said server in the first place, a la p4?
I do agree that NixOS is a great idea, but personally 99% of my problems would be solved if git scaled properly.
> why not just have your source code on said server in the first place, a la p4?
That would be great. A version of git where cloning is almost a no-op, and building is downloading the package assuming you haven't changed anything.
I'm not aware of how p4 allowing this. My recollection of perforce is that I still had most source files locally.
I think the SHA should be in version control. The file should be reproducibly built [1], then cached on a central server.
This means that a build target like a system image could be satisfied by downloading the complete image and no intermediate files. And a change to one file in one binary will result in only a small number of intermediate files being downloaded or reproducibly built to chain up to the new system image.
This is something that's really lacking in, for example, Git.
[1] https://en.wikipedia.org/wiki/Reproducible_builds