Docker for cli stuff, flatpaks for gui stuff.
NixOS
NixOS is a Linux distribution built on top of the Nix package manager. Its declarative configuration allows reliable system upgrades via several official channels of stability and size.
This community discusses NixOS, Nix, and everything related.
You build a derivation yourself... which I never do. I am on mac so I brew install and orchestrate brew from home manager. I find it works good as a compromise.
I think would just try to compile it from source. Using a different package manager seems very weird. I suspect getting the source to build on nixOS is more or less equivalent in terms of effort than to create a derivation. I have done so in the past and I ended up pushing them to nixpkgs. If compiling is out of the question, I guess docker but I havn't had to do that, yet.
I went a different route, but I might be an idiot. Had problems getting mongodb to work It's not open source, so it's not in the cache. My install wouldn't compile, and it seems I'm no alone in this. I setup kvm (libvirt), installed a debian 12, and installed mongodb. It works. I don't particularly like it this way, but it works. I'll probably move away from Mongo eventually. Until then, I'll just leave it as is.
I'll mention some things others haven't;
Usually, like if a python package isn't available, you can do half-nix by using something like python venv, and install everything like normal in venv. Or for rust, you get rustup through nix, but then let rustup do its mutable work, instead of literally managing crates through nix. It's also possible to patch a lot of stuff into a nix shell for inter-op.
When that fails, which it does, then its
- docker
- Tea (author of homebrew wrote it)
- brew/apt
Docker containers