Market nix not as a package manager but as a build tool and dependency management tool

@Ericson2314 I remember we were once joking the language should be called sleet because it has dynamic typing and feels squishy.

3 Likes

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.

1 Like

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.

2 Likes

I am using nix to do builds, but only at the granularity that “out of the box” nix supports :slight_smile:

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?

1 Like

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.

2 Likes