logoalt Hacker News

hombre_fatalyesterday at 7:01 PM2 repliesview on HN

NixOS is high-level declarative, so you're reading high-level config diffs when the AI agent is pitching changes.

Unless you're brand new to Linux or computing, it's not a mystery what a given nix config change is ever doing.

You can probably guess what this does:

    networking.firewall.allowedTCPPorts = [ 8080, 9000 ];
The things to know about the OS are high level things. The rest of its idiosyncrasies you learn just in time through daily exposure like anything else.

Replies

sally_glanceyesterday at 10:51 PM

Coming from Ansible with hand-written config templates this was honestly a friction point for me - I felt like NixOS is trying to actively hide what it's actually going to configure. It's gotten better now that I read some nixpkg service sources but from time to time I still feel the urge to just directly manage my systemd units, sshd configs and whatnot. Like, sure it simplifies the setup but at the same time also puts another abstraction between me and the software I'm using.

shevy-javayesterday at 7:16 PM

> Unless you're brand new to Linux or computing, it's not a mystery what a given nix config change is ever doing.

I am not brand new - and I don't know what the heck the config is doing.

That is why I rely on documentation.

The "code is self-explanatory" is always an attempt to not have useful documentation and try to rationalise that problem away.

show 1 reply