Wait, Another Nix Tool?
Yeah. Nixtamal 1.0.0 just shipped, and it's positioning itself as a flakes alternative. If you're deep in the Nix ecosystem and have opinions about flakes (and let's be real, who doesn't), this one's worth checking out.
The KDL Thing
Here's where it gets interesting: Nixtamal uses KDL (KDL Document Language) for its manifest format instead of Nix language. This immediately raised eyebrows in the Lobsters thread, with one commenter asking the obvious question: "Why not just use Nix?"
The reasoning is actually pretty sound. KDL can be parsed, while Nix has to be evaluated. There's no proper Nix parser spec (Snix and Tvix are still working on it), which makes tooling a nightmare. KDL has a full spec, a schema language, and growing tooling like kdlfmt.
Who Else Uses KDL?
Nixtamal isn't alone here. Projects like Zellij (terminal multiplexer), Niri (Wayland window manager), and River (reverse proxy) have all adopted KDL. The maintainer argues it has better ergonomics than JSON, TOML, YAML, or XML for configuration—and honestly, looking at Nixtamal's showcase KDL, it's pretty readable.
The Trade-off
One commenter noted that in flakes, the manifest is already a restricted subset of nixlang anyway—you just don't notice because most people aren't doing anything fancy with it. So maybe the KDL choice isn't as wild as it first seems?
The counterpoint: anyone using Nixtamal already has a bunch of Nix code. Adding another language to the mix could feel weird. But if it means better tooling, LSP support, and a proper schema story? That might be worth it.
What's the Point?
Nixtamal is trying to be what flakes should have been—a cleaner way to manage Nix projects without the complexity baggage. Whether KDL is the right choice or just adding more complexity is probably going to depend on your specific use case.
One thing's for sure: the Nix ecosystem is nothing if not opinionated about its tooling choices. Nixtamal 1.0.0 is here, it's stable, and it's making some bold moves. Whether it catches on or becomes another interesting experiment in the Nix graveyard remains to be seen.
Related Resources
- Nixtamal changelog
- Nixtamal manifest schema
- KDL spec and tooling
Nix people: give it a shot and report back. The rest of us will be over here with our package.json files, quietly watching the drama unfold.