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.
Cool! Today I learned about using
extraPackages
to only provide some packages when using nvim! I will have to try this out:https://github.com/s-zeng/dotfiles-hm/blob/f96ce73f2956453650b6a23afb4f5adc02e14fbb/home.nix#L198
Nice, I do use home-manager but only to install packages, still manage dotfiles with GNU Stow. here’s mine