Installation¶
This guide covers how to install and set up the Neovim configuration.
Automated Installation (Recommended)¶
The easiest way to set up this configuration is to use the automated installation script:
git clone https://github.com/clintonsteiner/nvim.git ~/dotfiles/nvim
cd ~/dotfiles/nvim
python3 install.py
The install.py script will guide you through an interactive setup process and handle all the following steps:
Creating necessary directories - Creates ~/.config/nvim, ~/.virtualenvs, and other required paths
Installing Neovim v0.11.4 - Uses Homebrew on macOS or downloads the binary directly
Setting up a Python virtual environment - Creates an isolated Python environment using
uvCloning this configuration - Clones the repository to
~/dotfiles/nvimInstalling Python dependencies - Sets up all required Python packages (pynvim, zuban, ruff, darker)
Installing Nerd Font - Installs JetBrains Mono Nerd Font for icon support
Creating symlinks - Links the configuration to your Neovim config directory
Installing Treesitter - Downloads language parsers for syntax highlighting
Optional: Installing Rust tools - Installs eza, fd, and ctags (Linux only)
Manual Installation¶
If you prefer more control or encounter issues with the automated script:
# 1. Clone the configuration
git clone https://github.com/clintonsteiner/nvim.git ~/dotfiles/nvim
# 2. Create directories
mkdir -p ~/.config/nvim
mkdir -p ~/.virtualenvs
mkdir -p ~/.local/bin
# 3. Create Python virtual environment
python3 -m venv ~/.virtualenvs/nvim
source ~/.virtualenvs/nvim/bin/activate
# 4. Install Python dependencies
pip install pynvim zuban ruff "darker[isort]"
deactivate
# 5. Create symlinks
ln -s ~/dotfiles/nvim/init.lua ~/.config/nvim/init.lua
ln -s ~/dotfiles/nvim/lua ~/.config/nvim/lua
# 6. Install Treesitter parsers
nvim -c "TSInstall python lua comment vim vimdoc c sql query" -c "quit"
macOS-Specific Installation¶
With Homebrew (Recommended):
brew install neovim python@3.11 fzf ripgrep
Then run the automated installation script.
Without Homebrew:
The script will download the Neovim binary directly. You’ll still need to install:
python3 -m pip install --user uv
Linux Installation¶
Install dependencies first:
# Debian/Ubuntu
sudo apt-get update
sudo apt-get install -y python3 python3-venv git fzf ripgrep cargo
# Fedora
sudo dnf install -y python3 python3-venv git fzf ripgrep cargo
Then run the automated installation script.
Verifying the Installation¶
After installation, verify everything is set up correctly:
# Check Neovim version
nvim --version
# Check Python environment
~/.virtualenvs/nvim/bin/python -m pip list
# Open Neovim and check health
nvim +checkhealth
Look for any warnings in the health report, particularly for:
Python provider (should use your virtual environment)
LSP (should detect Zuban)
Treesitter (should show installed parsers)
Troubleshooting Installation¶
Virtual environment not found:
Ensure the virtual environment exists at ~/.virtualenvs/nvim. If not, create it manually:
python3 -m venv ~/.virtualenvs/nvim
Neovim not found: Check that Neovim is installed and in your PATH:
which nvim
nvim --version
If using the binary installation, ensure ~/.local/bin is in your $PATH:
export PATH=$HOME/.local/bin:$PATH
LSP not activating: Check that Zuban is installed in the virtual environment:
~/.virtualenvs/nvim/bin/python -m pip list | grep zuban
If not installed, install it:
~/.virtualenvs/nvim/bin/pip install zuban
See the Troubleshooting section for more detailed help.