This is my config for neovim. It's a bit over-engineered, I guess, but it fits my needs.
There are two modes for this config. The default core one that's used by default, and then an
extra layer that's activated by setting the environment variable NVIM_CONFIG_MODE to full.
I'm using zpack.nvim as my plugin manager.
Feel free to use it as a baseline for your personal neovim configuration.
- In the
coreconfig, the binaries forfzf,python, andtree-sitterare assumed to be installed in your system. - In the
extraconfig, we install and setup some LSPs. I chose against usingmasonbecause I prefer having control over which binaries are in my system. So, the following binaries must be installed manually for it to work.You can easily disable some of the LSPs that are unnecessary.ty, ruff, luals, gopls, hls, clippy, bashls, fish-lsp - In the
extraconfig,vimtexassumes that packages related to compiling and editing LaTeX files are installed in your system. Please take a look at its documentation to figure out the details. For the most part, iflatexmkandpplatexwork, it would work. - If you don't want to use a certain plugin, just don't enable the full mode, and move that plugin to
lua/plugins/extra, or delete it altogether. The configs are isolated enough for this to work. If it doesn't, that's a bug, so feel free file an issue. - Any dictionary files
dict.utf-8.adddropped insidespell/will automatically be compiled and loaded into the spellchecker. The files aren't committed here for privacy reasons. Just create aspell/directory, and it should work.