I’d like to reiterate just how useful these survey results are, most projects don’t ever get these direct metrics! Thank you to everyone who managed or contributed to the survey. In looking over it, there seem to be a few takeaways for me:
Regionality
Nix still seems to mainly be making headway in Europe, but it is broadly applicable to software across the world. Non-English speaking developers would certainly appreciate translated documentation and guides. Right now the Nix ecosystem is heavily focused on English-only communication despite there being interest from many other locales. In addition, I feel that there is a large opportunity in North America for Nix adoption. So many companies I have worked at could have improved their development and deployment cycles with the use of Nix.
To summarize with some readily actionable items:
- Documentation translation
- Guides/examples translation
- More broad advertisement of Nix as a solution
- Nix advocacy from individual contributors at companies
Experimental Features
Having 85% of respondents be flake users should make it extremely clear that flakes are here to stay. An overwhelming majority of respondents use and rely on flakes in their current form. We can talk about them being labelled “experimental” all day, but the reality is that these features cannot be removed or broken without significant churn and incompatibility in the community. It’s time for the Nix team to recognize this and drop the “experimental” part from Flakes. Any further changes from what we have today can be done in future major/minor/patch releases. Don’t let perfect be the enemy of good here, just make it work.
Again, some action items as a TL;DR:
- Enable the current flakes implementation by default
Nix Versions
This, as well, should be a wake up call for the Nix team. The overwhelming majority of respondents are not using the latest release of Nix. Only 139 respondents are on 2.22+ while the remaining 836 respondents are using either Nix 2.18 or Lix (originally based on Nix 2.18). The single most important thing that Nix can do right now is cut a working release that can actually be merged into Nixpkgs. Future features aren’t useful if nobody is running anything past version 2.18.
TL;DR:
- Nix needs a release that Nixpkgs can use