Building NixOS using Nixtamal

9 points by toastal


rprospero

I feel like I'm missing something, because I'm not understanding the benefit here. The big selling points that I saw were

  1. The nix configuration can be stored in source control. While that's true, hasn't it always been true? I had my nix configuration under source control back in 2016, before flakes even existed.
  2. The inputs are pinned. This is certainly better than channels, but I've seen a dozen different systems for pinning inputs, flakes included.
  3. Nixtamal doesn't use "experimental" features. Perhaps it's because I'm an experimentalist, but that doesn't scare me. The flakes features might change or disappear, just like the print statement in Python, but that didn't make Python 2 "experimental".

Looking a bit deeper, I'm also slightly concerned that KDL is the configuration language when it is one of the few config languages not supported in pkgs.format. Similarly, nixtamal offers to be VCS-agnostic, but my current flake pulls from GitHub, SourceHut, some stranger's web server, and my own NAS unit. I even have inputs that aren't git repos, though having first class Darcs and Pijul support does seem kind of cool.

I'm not exactly a partisan in this fight. I'm happy to switch off flakes if I'm offered something better. After all, I switched to flakes because it was a more convenient than what I had before. I'm just failing to understand what is being offered here.