Hacker News new | past | comments | ask | show | jobs | submit login

Too many corner cases don't yet work properly in flakes for it to be the default.

I think we can wait a few more months until they become stable enough.




Educate me a little about the corner cases? I’ve long since adopted a philosophy I call “Kool-Aid Man Programming” named after ad advert when I was a kid of the character jumping through walls. If something doesn’t work I write my own derivation and patches if necessary, if the utilities for that ecosystem don’t work I write new ones, I just don’t take no for an answer from Nix. I find this to be faster and less stressful than engaging with maintainers.

Perhaps for more casual users it’s still a bad default? Even that doesn’t tie out with my personal experience.

A year ago flakes were already default amongst the serious pros, now if I don’t see a flake.nix I assume I stumbled into the old repo.


This thing, for example: https://github.com/NixOS/nix/issues/3121 Or the issues surrounding submodules.


There are a lot of remarks on that issue, so maybe the plot thickens somewhere along the way, but if I’m reading that right, the corner case is that the first time a flake is somehow reified into the store, I’m hitting the filesystem with exactly what would happen if I ever referenced it elsewhere?

So in practice I’m eating the cost of “installing” it the first time I use it, which is subsequently amortized across all the other times I use it?

And if I’m really worried about this, my flake hits a default.nix in a directory that can also have a shell.nix I’m it so I can get around this?

I think Einstein once said: “However great your troubles with mathematics are: be of good cheer. I assure you mine are far greater.”

Nix isn’t relativity and I’m no Einstein, but if you work in Nix world and that issue even rises to your notice? Let’s trade jobs because I fucking wish I had Nix problems like that.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: