Currently, I manage my neovim configuration using home-manager. When developing some projects I wish to add extra configuration to neovim when entering the nix-shell so I decided to implement some helper functions. Now I need some help. What I want to achieve is that when I open neovim, it will:
Apply all the global configurations.
Source a project-specific init.vim.
Add extra plugins to the runtimepath
In normal cases, it could be achieved by alias vi=vi -c "source /path/to/init.vim". The problem is how to configure the python or ruby host programs? How could I add extra packages to python used by neovim?
Right, what I do is that I generate a neovim config per project.
basically I have a function genNeovim packageToDevelopFor manualConfig that tries to setups neovim for packageToDevelopFor, like if it’s a python program, it generates a python env with the package dependencies, same for haskell etc.
and it merges that config with the manual config.