Khanelivim: My Nix-Powered Neovim Configuration
April 23, 2026 ยท View on GitHub
This is my fully customized Neovim configuration, built with Nix and the powerful Nixvim flake. It is meant to be reproducible, portable, and easy to extend without maintaining a separate Lua config per machine.


Key Features
- Nixvim for Declarative Configuration: Leverage Nix expressions for a clean and maintainable Neovim setup with 100+ carefully configured plugins.
- AI-Powered Development: Integrated GitHub Copilot, Claude Code, Avante, and Blink completion for intelligent coding assistance.
- Modern Plugin Architecture: Modular plugin system with lazy loading and comprehensive language support for 20+ programming languages.
- Advanced Navigation: Multiple fuzzy finders (FZF-Lua, Snacks Picker) for quick file and symbol searching.
- Comprehensive Git Integration: Full Git workflow support with Gitsigns, Diffview, Git Conflict resolution, and worktree management.
- Debugging & Testing: Complete debugging setup with DAP and Neotest for multiple languages.
- Consistent Environments: Reproduce your Neovim setup on any system with Nix installed.
Prerequisites
- Nix Package Manager: Ensure Nix is installed on your system. Follow the instructions at https://nixos.org/download.html.
Installation
Run the default standard profile directly:
nix run --extra-experimental-features 'nix-command flakes' github:khaneliman/khanelivim
Build and run from a local checkout:
git clone https://github.com/khaneliman/khanelivim.git
cd khanelivim
nix run
Install it from Home Manager via home.packages:
{
home.packages = [
khanelivim.packages.${pkgs.system}.default
];
}
Docs
The generated docs are the canonical reference for profiles, options, and workflow details.
nix build .#docs-html
nix run .#docs
Start here:
Using the Flakefor the supported ways to run, install, and customize this configKeymapsfor generated, UX-oriented keybinding pagesSelecting Profilesforminimal,basic,standard,full, anddebugOptions Referencefor thekhanelivim.*module surfaceProfile Matrixfor the evaluated differences between profilesLanguage Tooling Workflowsfor the runtime LSP and language-tooling model
Development Commands
# Update flake dependencies
nix flake update
# Check flake for issues
nix flake check
# Format/lint code
nix fmt
deadnix -e
statix fix .
# Enter development shell
nix develop
# Run Neovim
nix run