Just wanted to add some content and encourage discussion :D
I'm a big fan of using Home Manager to manage my Neovim and other dotfiles. It keeps everything in one place, and it's really good at managing non-neovim dependencies like fzf and such. Check out my dotfiles home.nix and nvim folder and tell me what you think!
I use a variation of that setup, I install plain neovim as a package, and symlink the neovim config: https://github.com/davidmh/dot-files/blob/main/home.nix#L115-L118
Mostly because I want to manage the neovim plugins with lazy.nvim, not with nix derivations.
I'm in the process of setting up this way too. I just switched over to lazy.nvim a few weeks ago, and I'd like to keep the lazy loading and configuration system.
I did a little experimenting to see if I could use lazy to lazily-load from Nix packages instead of downloading stuff itself. I couldn't work out. But with a version-controlled lock file lazy is declarative and reproducible by itself, so I suppose there's no need to mess with it.