Hacker News new | ask | show | jobs
by xorcist 439 days ago
> some point on the spectrum between "commit your dotfiles to git" and Nix

That would be configuration management tools such as Salt/Puppet/Ansible/Chef.

They were popular ten years ago, and gained a lot of exposure as the devops movement gained ground, but they never stopped being useful.

Having your non-running state defined declarative is powerful, and if you can define a single source of truth for entire distributed systems, that suddenly makes you able to reason about state on whole systems.

1 comments

What I can't currently figure out with Nix though is how I kill off dependency explosions though.

I want to reach into a big tree of derivations and force library and compiler versions to a single common one so we don't, for example, have 6 rust compilers being used.

The usual approach is to give Nixpkgs some `overlays`, which override the attributes you want. This can be handy in conjunction with attributes like `.override`, `.overrideAttrs`, etc. for swapping-out things deeper in the dependency graph.

The https://codeberg.org/amjoseph/infuse.nix project looks nice as a way to simplify annoying chains of overrides; though I haven't used it personally.