Earlier quoted context omitted.
Nix has a vast ecosystem and conceptually rich foundations, but it can also be useful without touching any of that. 'I just want to use this one program in this weird environment' is a totally reasonable use case for Nix, and that can be where you happily stay with it for years. I'm 'into' Nix now, but that's how it was for me for a long time, and using Nix at that level requires very little learning investment. With…
Ah thanks. Wish I'd seen this before I embarked on things! I muddled my way through doing things like: nix-env -iA nixpkgs.rPackages.tidyr This seemed to work fine for things like R and Vim and some dependencies, but didn't work so well for R packages which I think all needed to be compiled and installed from R. I'm very pleased to have a working set up now, with neovim/nvimR/R/git etc. remarkably similar to my regul…
I think not literally everything (especially if it has native extensions) is necessarily working, but everything in CRAN and Bioconductor is on there. Give your faves a try!
To explain this seemingly strange behavior a bit: because of Nix's commitment to isolating dependencies, when you install a language interpreter to some environment, it needs to behave the same way no matter what is installed in that environment— including packages from its own ecosystem. So instead, Nix has you be fully explicit ahead of time about what you want each language interpreter to pick up on, and those are the only in-ecosystem packages it'll ever be able to see.
This is super nice for per-project dependencies and for scripts that can bring along all their own dependencies, but it can seem a little weird when what you're used to and what you expect is just managing a single environment.