This setup is "by me for me", intended for my personal use.
In case you want to use my setup for learning or something else I have written some documentation that should help you to get started.
Since 2023-12-24 I consider this repo as stable. It should be safe to clone it and stay on the main branch. There will be changes but all changes will be documented and I hope that no breaking changes slip through the cracks.
2024 Christmas update: I have been using this configuration as my daily driver for a year now. It has evolved quite a bit since the start.
If you want to make this configuration your own, just clone it and remove the .git directory from the root folder.
The font used on the pictures is Pragmata Pro with ligatures and the theme is Tokyo Night
Before I maintained two configurations. One light weight and one fully featured. They have now been merged into this configuration.
The default is lightweight, to enable LSP, linting, formatting, and all the other plugins that are found in lua/optional you only need to set the environment variable NVIM_OPTIONAL_PLUGINS to 1
Example for fish shell
set -gx NVIM_OPTIONAL_PLUGINS 1
Example for zsh and bash
export NVIM_OPTIONAL_PLUGINS=1
I use macOS so here are the instructions for how to install dependencies with homebrew on a mac.
brew install ripgrep fd cmake git node wget shellcheck python3 \
selene hg nvim lazygit imagemagick gs
npm install -g neovim
npm install -g @mermaid-js/mermaid-cli
Tip: Run
npm update -g
periodically to keep your global Node.js packages up to date.
When you have all the dependencies installed, clone the repo into ~/.config/nvim/
Example:
git clone https://github.com/ThorstenRhau/neovim.git ~/.config/nvim
When you launch neovim for the first time after cloning the repository you will see a lot going on. Plugins should be installed by Lazy and Treesitter should install language parsers. Thereafter you can run :MasonToolsInstall to install all LSPs, Linters, and Formatters for this configuration. When this is done it is a good idea to quit or re-start neovim.
Launch neovim and run :Lazy load all to load all the plugins. After you have loaded all the plugins you can run :checkhealth to see that everything is configured and working properly before you start to use neovim for your editing.
There are many individuals and projects that I have learned and taken inspiration from. Thank you to all of you 🙏.