and found some interesting (in my view) results. a detailed writeup is on my blog (The Great Nix Flake Check | max’s place), but here are some key points:
- there’re a lot of weird features, a lot of them undocumented or misdocumented
- despite this, Lix is very compatible with flakes in the wild, and my own unflake is pretty compatible, especially given that I now fixed the biggest incompatibility source. I also believe to have enumerate basically every incompatibility unflake has, and fixing them is in progress.
- flakes continue to be a moving target. I think we should seriously consider doing a feature freeze until we write better documentation.
- by the way, we definitely should write better documentation. I’m ready to work on this, with the knowledge I have accumulated. I’ll do some PRs based on what is already in the post, but I also think we should pursue “flakes specification” as a separate project. current documentation is spread awkwardly across Nix manual, and I think flakes are a distinct enough topic to deserve their own chapter.
I hope y’all find this info valuable!