Personal Neovim 0.12 configuration using the native plugin manager (vim.pack).
- Neovim 0.12+
- Nerd Font installed and configured in your terminal
- Git
- A C compiler (
gccorclang) for Treesitter parser and telescope-fzf-native compilation - Python 3.12 via uv with
pynviminstalled in a dedicated Neovim virtual environment - StyLua for Lua formatting checks outside Neovim
Install via your package manager (e.g. brew, apt):
ripgrep— required by Telescope for live grepxclip— required for system clipboard supporttree-sitter— required by nvim-treesittertree-sitter-cli— required for Treesitter parser installation
-
Back up any existing Neovim configuration:
mv ~/.config/nvim ~/.config/nvim.bak
-
Clone this repository:
git clone https://github.com/<your-username>/nvim.git ~/.config/nvim
-
Create the Python virtual environment for Neovim:
uv python install 3.12 mkdir -p ~/.virtualenvs uv venv --python 3.12 ~/.virtualenvs/nvim uv pip install --python ~/.virtualenvs/nvim/bin/python pynvim
-
Launch Neovim:
nvim
On first launch, plugins are pulled automatically via vim.pack and Mason installs all configured LSP servers, formatters, and linters.
Lua formatting is standardized with StyLua. In Neovim, conform.nvim uses StyLua for Lua buffers on save and through <leader>f.
To format or verify from the command line:
stylua .
stylua --check .| Plugin | Purpose |
|---|---|
| tokyonight.nvim | Colorscheme (storm variant) |
| telescope.nvim | Fuzzy finder |
| blink.cmp | Completion engine |
| LuaSnip | Snippet engine |
| nvim-lspconfig | LSP client configuration |
| mason.nvim | LSP/tool installer |
| conform.nvim | Code formatting |
| nvim-treesitter | Syntax highlighting |
| gitsigns.nvim | Git diff signs |
| dropbar.nvim | Breadcrumb navigation |
| supermaven-nvim | AI code completion |
| obsidian.nvim | Obsidian vault integration |
| mini.nvim | Collection of small utilities |
| which-key.nvim | Keybinding hints |