Hacker News new | ask | show | jobs
by rgoulter 1581 days ago
The comment you're replying to describes concerns about maintenance burden from the programmatic nature of Nix.

I think "declared in YAML, pointing to a Docker image", and "declared in Nix, pointing to some more Nix elsewhere in the codebase" is relatively moot to this point. (If you wrote the image, you'll know what it's expected to do; if you don't know the Nix you're pointing to, it's as opaque as a Docker image).

Configuring with a program vs using a plain structured file have different trade-offs.

1 comments

Does anyone write k8s manifests in raw yaml? They're so complicated that they're generated using some templating language (helm or kustomize or whatever is popular these days, I'm a little out of the loop). So you still have something programmatic. Think of Nix as just a better and more principled templating language. (I mean, look at NixOS configs: they're much closer to "plain structured files" than "programs".)

The promise that I see (I haven't seen this fully realized but it should be possible) is that instead of yaml plus some ad-hoc templating language plus dockerfile plus makefile, everything is in a single language top to bottom.

I think it's better to put in terms of trade-offs, rather than "this is better than that". https://mikehadlow.blogspot.com/2012/05/configuration-comple...

(I use NixOS btw).

Helm charts are basically just collections of k8s yamls, it doesn't serve to simplify them, only to make them parameterized