- [any] documentation, the majority of nix modules are undocumented and so the only way to figure out what settings are available is to find and read the source code (and even then it could be using a module to convert the definitions to the target config format, in which case there’s even more guessing, but at least the official documentation of that package gives you something)
- coding standards; lots of modules have different variations of camel case, snake case, adjective-noun, noun-adjective, etc so it’s not clear what the correct format of a setting is for an arbitrary package
- flakes just need to be both an official feature and set to be the default way to interact with nix, it just has too many upsides
- Better errors, the current errors are just horrible to read and you end up picking out 1 or 2 spots in several paragraphs of irrelevant code snippets and stack traces
- up to date resources, since the official docs aren’t very beginner friendly, third party resources end up being the way people learn (vimjoyer has been a godsend), but half the time when you try to use those resources, they’re out of date and lead to broken nix configs, having solid official updated documentation to help new users get started in nix would go a long way here