4 ms·
My actual usage is a mix-bag. For general tools and utilities, I often just use Nix and Home Manager. It is a pain for setting up but once you got it working, i
by mrbonner 1y ago
My actual usage is a mix-bag. For general tools and utilities, I often just use Nix and Home Manager. It is a pain for setting up but once you got it working, it's basically fire and forget. Whenever you need a new app, you just add that to the `home.nix` and call it a day.
Now, for language development environment, I won't use Nix and just prefer to whatever that language popular choice. For instance, in Python I use uv. For Node I use npm (or yarn or bun or whatever in fashion now), Java has mice, Rust has rustup.
It is not a one-size-fit-all solution but I am not sure if we can ever achieve that.
- hollerith 1y ago>Rust has rustup. Do you mean cargo?
- nylonstrung 1y agoI'd argue nix is the closest to a one-size-fits-all solution if you're using stuff like uv2nix and npm equivalents
- mrbonner 1y agoyes, but I now have to deal with all the oddities by combining them.
- sfn42 1y agoJava has mice? I thought java had maven and Gradle? Is mice a new thing?
- mrbonner 1y agoMy dang autocorrect, it is mise.
- rzzzt 1y agoJava also has SDKMAN!, jabba and the "alternatives" mechanism in Linux distros: - https://sdkman.io/ https://sdkman.io/ - https://github.com/shyiko/jabba https://github.com/shyiko/jabba - https://www.man7.org/linux/man-pages/man1/update-alternatives.1.html https://www.man7.org/linux/man-pages/man1/update-alternative...
- cheshire_cat 1y agoJava is one of the few languages where I prefer the endemic/specialized version manager in the form of sdkman over mise. It has more Java versions available and also allows you to install a lot of the Java tooling like Gradle and Maven.
- nextos 1y agoI love Nix flakes, but for some languages it is still very painful to use. For example, Julia has an unusual package management system and lots of packages still fail under flakes.
- dawnofdusk 1y agoYeah it's hard to get excited about these sorts of tools when Nix exists. I think for development purposes it's a smart idea to use the language specific conventions/ecosystem.