@Ericson2314 I remember we were once joking the language should be called sleet because it has dynamic typing and feels squishy.
But wait, can you do a lot of complex and also deterministic configuration with Bazel? (I donât know as I have never explored it. Iâve done builds with bazel, but not OS config)
As far as nix is concerned we are just âbuilding somethingâ. Take in some text files and spit some other files out. I donât see why bazel couldnât do the same.
No you canât, but so long as people donât use Nix to do fine grained builds (and almost no people are trying to do this, sadly) Nix will be seen as a lousy tool for development.
I am using nix to do builds, but only at the granularity that âout of the boxâ nix supports
Coming from the other end of the spectrum, where people donât use anything but letâs say bash scripts or Make, nix is often a step up. They donât have to rebuild every time if they are caching builds in CI, and they can build and try out many variations of dependencies. So it can be kind of a âgatewayâ toward bazel-like experience.
What needs to evolve in nix to get it all the way there? Implementing a content-addressed Nix ? Anything else? Are there existing builders that do what is needed that could be used by Nix for this purpose?
I think in some respects the barriers really are more social/marketing/etc. We have a content-addrsssed Nix. We have the hydra patch (just need to turn it on). What we donât have is people trying to use Nix this way (except for a few counter examples, not all open source), skipping stdenv.mkDerivation
etc. And we donât have the equivalent of Bazelâs ârulesâ repos â but thatâs userland.