This repository contains my custom Neovim configuration, designed to be simple, fast, and practical for daily development.
- Plugin Manager: Uses lazy.nvim for fast, modular loading.
- Appearance: Transparent background with a minimal, terminal-friendly UI.
- Languages: Built-in analyzers for Python, Rust, and Lua.
- AI Integration: Codeium (Windsurf) and optional OpenAI API support.
- Python: LSP support, formatting, diagnostics, and linting.
- Rust: Full
rust-analyzerintegration. - Lua: Optimized for Neovim configuration and plugin development.
This config includes Codeium for AI-powered code completion. To authenticate:
- Open Neovim and run
:Codeium Auth. - Follow the browser login flow and copy the token.
- Paste the token back into Neovim when prompted.
To use features requiring OpenAI, export your API key before launching Neovim:
export OPENAI_API_KEY="your_api_key_here"- Neovim 0.10+
- Git
- Node.js (required for LSP tooling)
- Python 3
- Rust toolchain (for Rust Analyzer)
Clone the repository into your local Neovim configuration directory:
git clone [https://github.com/IndianaBug/neovim_config](https://github.com/IndianaBug/neovim_config) ~/.config/nvimWhen using this Neovim config on Windows via WSL (Ubuntu), there are a few important details to ensure fzf-lua works correctly.
❗ Why this is needed
Ubuntu/Debian ship an outdated fzf (0.44.x) which is incompatible with modern fzf-lua. Symptoms include:
unknown action: transform(...)
fzf-lua pickers crashing or not opening
errors when pressing f s, f f, etc.
mkdir -p ~/.local/bin
cd ~/.local/bin
FZF_VERSION="$(curl -s https://api.github.com/repos/junegunn/fzf/releases/latest | grep -Po '"tag_name": "v\K[0-9.]+' )"
curl -L -o fzf.tar.gz "https://github.com/junegunn/fzf/releases/latest/download/fzf-${FZF_VERSION}-linux_amd64.tar.gz"
tar -xzf fzf.tar.gz
chmod +x fzf
rm fzf.tar.gz
~/.local/bin/fzf --version
This repository contains personal Neovim configuration files. Neovim and all plugins remain the property of their respective authors.