4 ms·
I've led the implementation of Nix as a dev env at my workplace to pretty good results, but none of us are quite yet willing to touch flakes yet because they're
by striking 4y ago
I've led the implementation of Nix as a dev env at my workplace to pretty good results, but none of us are quite yet willing to touch flakes yet because they're still marked as experimental.
Do you have any thoughts on whether or not we might be missing out? Any docs we should be looking at?
- DancerOfFaran 4y agoNix Flakes are stable enough to replace nix-shell and lets you pin versions, so it has a significant reliability advantage. Things get a bit tricker when flakes are paired with home-manager and especially nix-darwin, as the error handling leaves a lot to be desired (opaque errors that are extremely difficult to debug, leaving you with few choices outside of nuking all nix and re-starting).
- striking 4y agoI've been really careful to avoid OS-wide environment management with Nix, as we're on macOS; the only thing I do is `nix-env install direnv` imperatively during our setup script so we can sidestep the need for `nix-shell`.
- okkdev 4y agoI'm using nix with home-manager on macOS and I'm very satisfied. Haven't touched flakes yet tho.
- mplanchard 4y agoIf you’re using something like niv, you’ve got most of what flakes will bring to the table. I’m in the same boat as you, don’t want to have people enable any experimental feature to get the dev environment going. I use flakes for all my personal stuff though, just because it’s easier than adding the niv dependency and because it comes along with using the new command line interface. I also like that flakes let you specify multiple targets in a single file.
- TheAceOfHearts 4y agoWould you consider writing up a tutorial? Or is there any resources you'd recommend?
- striking 4y agoWe're midway through transitioning engineers to it, as well as building stuff on top of it to make for a really great DX. I'll probably write a blog post when the whole env is a little more complete.