Live data from Hacker News

Install Asdf: One Runtime Manager to Rule All Dev Environments

jdsalaro.com

41–50 of 132 posts

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#41
post #37

Sounds like nix using devenv[1] also would solve this problem. [1] https://devenv.sh/

Having 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.

I'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.

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#42
I had to install a couple of alternative python versions on my dev machine at work and found it was easiest for me to just build from source and `make altinstall` with a custom prefix set. From there I just always work in virtual environments. This doesn't seem to have created any major problems for me, so something like asdf doesn't feel necessary. Is there something serious that I've missed or is this just a case of different preferred workflows?

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#43

Sounds like nix using devenv[1] also would solve this problem. [1] https://devenv.sh/

Yeah… 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

How 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.

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#44

Sounds like nix using devenv[1] also would solve this problem. [1] https://devenv.sh/

Yeah… 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

What 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).

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#45
post #37

Earlier quoted context omitted.

Having 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.

I'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.

95% 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.

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#46

Earlier quoted context omitted.

Yeah… 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

What 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).

In 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.

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#47

Sounds like nix using devenv[1] also would solve this problem. [1] https://devenv.sh/

Yeah… 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

That’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. :)

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#48
post #43

Earlier quoted context omitted.

Yeah… 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

How 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…

There’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. :)

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#49

I like x-cmd because its package system is written in more compatible posix-shell and awk, resulting in much smaller loading and startup overhead. Additionally, x-cmd integrates with asdf and provides AI support, along with over 200 modules for various command enhancements See: https://x-cmd.com/pkg/

it portability

Re: Install Asdf: One Runtime Manager to Rule All Dev Environments

#50
Having been down this path - asdf didn’t go far enough in creating reproducible/sealed environments, the quality of the plugins per language varied dramatically, shims made a lot of assumptions about how tools will be used, and you can expect to throw asdf away the moment you need to deploy and then have to build something else.

I don’t like Nix but I haven’t found anything else that scales along those critical requirements. I don’t think it’s a good idea to simply replace rbenv/nvm/etc with asdf-ruby-plugin and so on - unless your software isn’t intended to leave your development machine?

(Docker for me fails in the opposite direction - fairly miserable to develop with but trivial to deploy.)

Post reply on HN