Hacker News new | ask | show | jobs
by unicornmama 1263 days ago
Nix is like sailing from Oakland to San Francisco on an aircraft carrier for your daily commute.

Most stuff I care about factors out into .config which I turn into a git repo, push to GitHub and slap on a CI checks for secrets.

Most engineers don’t need to forge a demonic pact with the Nix gods who demand I upend and replace everything from my operating system to my wife.

5 comments

95% of the time if I'm making nix a dependency it's just to install the correct version of python and poetry, then I let poetry handle the other dependencies. So it's totally possible to just use nix a little. My coworkers haven't even noticed the flake.nix in our repo, they just install those things by hand.

But then there's that 5% case where you do have to forge a demonic pact with the nix gods, and it's handy to have your summoning circle all warmed up and ready to go.

I had problems installing python dependencies with compiled library dependencies this way, eg pandas. Does that generally work for you?
Pandas is one of those for which poetry alone doesn't do the job. So I have nix install pandas alongside poetry so that when poetry tries to install pandas, the non-python dependencies are all lined up.

Here's a (too verbose, sorry) example: https://stackoverflow.com/a/74944857/1054322

It works well on all of my linux boxes. On my mac it takes forever because it wants to rebuild the linux universe. Given that the system architecture is a parameter, I think there should be a way to rewrite my flake (or update the nixpkgs numpy) to just rely on bsd tools in those cases, but I haven't found it yet.

That's what's holding me up from recommending it to my team. I'm happy to just use linux everywhere, but they aren't.

Learning Nix just do manage your dotfiles*, yes.

But, now that you're using Nix, ... you could use Nix to describe an OS setup, write Docker images, declare the tooling for a dev environment, etc.

Yes, in that it's military-grade technology that needs to be more accessible to the public. Otherwise I don't agree with your analogy.
Actual "military grade tech" assumes field service by minimally trained personnel and an efficient logistic chain of supply. This is is the opposite of Nix, which requires months of self-training futzing around with obscure commands and an obscurer language, backed by an out of date unsorted mound of documentation and recipes.
An F-18 is military-grade tech and no minimally trained personnel are getting anywhere near it. It's all just bad analogies is my point.
Well, the USS Hornet is stationed right there in Alameda, and it's not being used for anything else... :)
You win this thread.