4 ms·
Sounds like nix using devenv[1] also would solve this problem. [1] https://devenv.sh/ https://devenv.sh/
by robinhoodexe 2y ago
Sounds like nix using devenv[1] also would solve this problem.
[1] https://devenv.sh/ https://devenv.sh/
- lexlash 2y agoHaving tried asdf - among other tools - for awhile, dropping it for nix+flakes+direnv was great. Devenv seems nice (in fact it’s how I started down this path) but I haven’t found anything it does for me that I can’t get out of flakes - so far.
- robinhoodexe 2y agoI'm considering doing a pilot (~5 devs out of 120) with using nix to manage dependencies and build containers at $DAYJOB, and here I think devenv is nice as a "one package" plus an active community for support.
- lexlash 2y ago95% of the difficulty I have at $DAYJOB is nix installation and dealing with enterprise certificate/auth crud…sadly devenv doesn’t help much there. Our pilot is quite a bit larger. Sticking to plainer flakes has made it easier for folks to self-service for now but we do intend to re-evaluate devenv. Same username on twitter if you’re interested in chatting.
- dave4420 2y agoYeah… but then you get nix’s problems. - steep steep learning curve, so your team is split between those who can understand it and those who have to blindly follow checklists and ask for help when something breaks - it doesn’t play well on macOS
- mg74 2y agoHow doesnt it play well one MacOS? I've been using Nix Home Manager + Nix Darwin as my package manager, and Direnv + Nix Shell for developer environments; and havent had any problems (yet). Is there something I should be aware of? Agree about the learning curve; but I am going to experience onboarding my coworkers onto using Nix only for developer environments over the next months; I feel the curve is not quite that steep for that limited use case.
- lexlash 2y agoThere’s some really annoying edge cases I’ve found once Xcode gets involved and graphical apps are a bit hit and miss (Wireshark failed pretty completely for me a few weeks back.) I’d still call it a major improvement over the alternatives. Re: onboarding - I’m doing the same thing at a somewhat larger scale. Same username on twitter if you want to start a support group. :)
- mg74 2y agoI'll take you up on that, will follow you on twitter (@mg0rn)
- dave4420 2y agoEvery time macOS has updated, I’ve had to reinstall Nix. Which I guess is in part a consequence of Nix not supporting single user installs on macOS.
- mg74 2y agoI have not had that problem. Only thing I have to do when I update Nix after a MacOS update is to move /etc/shells to something like /etc/shells.old
- robinhoodexe 2y agoWhat exactly are the problems with using it on macOS? So far (on my, admittedly, short nix journey), I’ve not encountered any issues that wasn’t fixable with 5 mins of google (even as a beginner).
- lexlash 2y agoIn my experience, nix-darwin and home manager are a little awkward to install together (you’ll want both) and central management is…tricky. All of these being large company problems, mind - I can’t rely on the median user googling to fix issues, they expect (reasonably) an actively supported platform. I’ve also had issues with GUIs and Xcode as noted in other comments but I don’t mind that - those are much more of a solved problem than, say, keeping seven different JDKs around.
- lexlash 2y agoThat’s every solution, honestly - you’re just choosing what % of users will need help, and frankly asdf has a lot of edges. Nix’s self-contained declarative stuff is a pain to learn, certainly, when used to brew install $whatever - but it’s far easier to support. Also it plays really nicely on macOS unless you’re trying to share nix config across macOS and Linux which…just fork and move on, it’s not worth it. :)