
kickstart.nvim
A small, fully commented single-file Neovim config to copy and customize.
- Stars
- 31.6k
- Forks
- 46.3k
- Licence
- MIT
- Language
- Lua
- Last update
- 1 months ago
- Type
- Dev tool
What it is
Kickstart.nvim is a starter configuration for Neovim, a text editor used mostly by programmers. It is a single heavily commented init.lua file that you clone into your Neovim config folder and then modify to suit yourself. The README says it is intentionally not a full distribution, but a starting point you own and extend.
- Clone the config and open Neovim so vim.pack installs the plugins it declares
- Read init.lua to learn how to add plugins and options in Neovim
- Use it as a template repo and track your own changes on top
- Keep it alongside an existing config using NVIM_APPNAME
Great for
- People learning Neovim and Lua who want a commented reference config
- Developers who want a minimal base instead of a large preset distribution
- Users who prefer to understand every line of their editor setup
- Anyone willing to create their own copy of the repo and maintain it
Not ideal for
- Users who want a feature-rich, ready-made distribution out of the box, since the README says it is not a distribution
- Users on older Neovim versions, since the README targets only the latest stable and nightly releases
- People who want a multi-file layout, since the config is intentionally a single file and the FAQ points to a separate modular fork for that
How to get it
- 1
Clone and build from source
You'll need: Neovim (latest stable or nightly) · git · make · unzip · C compiler (gcc)
Clone into your Neovim config directory (Linux and Mac)
git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvimStart Neovim to install plugins
nvim - 2
Run it
- Install Neovim and the external dependencies listed in the README
- Back up any existing Neovim config, then clone kickstart.nvim into your config directory
- Start Neovim with nvim; vim.pack installs the plugins from your config
- Run :lua vim.pack.update() to fetch updates when you want them
- 3
Get the most out of it
- Create your own repo from the template button so your changes are versioned
- Read init.lua for the documented examples of adding popular plugins
- Set vim.g.have_nerd_font in init.lua to true if you have a Nerd Font installed
- Track nvim-pack-lock.json in version control, as the README recommends
- Use NVIM_APPNAME to keep kickstart separate from your other configs
Downloads
Strengths
- Small and single-file, so the whole setup is easy to read
- Heavily documented inline, aimed at learning
- Used as a base by many people, with 31,632 stars on GitHub
Trade-offs
- Requires Neovim's latest stable or nightly, so older package managers may not work
- Needs several external tools (git, make, ripgrep, fd, tree-sitter CLI, a clipboard tool) before it is fully useful
- Config is one file by design, which may get long as you add features
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.