Thanks for clarifying! I can totally see where that sort of stuff can really mess things up.
My experience with development environments has been a bit better: Node works out of the box, no problem. For Ruby, the workflow took a little setting up (with bundix), but ended up working very reliably. For R, I actually enjoy that I can set up all my packages with home-manager and they get updated in my regular update cycle and it’s not a separate process altogether.