kickstart.nvim/requirements.md

14 KiB

Neovim Configuration Requirements

Plugin Manager

Plugin GitHub
lazy.nvim https://github.com/folke/lazy.nvim

Completion

Plugin GitHub
blink.cmp https://github.com/saghen/blink.cmp
LuaSnip https://github.com/L3MON4D3/LuaSnip
friendly-snippets https://github.com/rafamadriz/friendly-snippets
nvim-autopairs https://github.com/windwp/nvim-autopairs

LSP

Plugin GitHub
nvim-lspconfig https://github.com/neovim/nvim-lspconfig
mason.nvim https://github.com/mason-org/mason.nvim
mason-lspconfig.nvim https://github.com/mason-org/mason-lspconfig.nvim
mason-tool-installer.nvim https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim
lazydev.nvim https://github.com/folke/lazydev.nvim
fidget.nvim https://github.com/j-hui/fidget.nvim
lua-language-server https://github.com/LuaLS/lua-language-server
basedpyright https://github.com/DetachHead/basedpyright
clangd https://github.com/clangd/clangd
typescript-language-server https://github.com/typescript-language-server/typescript-language-server
vscode-langservers-extracted (css-lsp + html-lsp) https://github.com/hrsh7th/vscode-langservers-extracted

Formatting & Linting

Plugin GitHub
conform.nvim https://github.com/stevearc/conform.nvim
nvim-lint https://github.com/mfussenegger/nvim-lint
stylua https://github.com/JohnnyMorganz/StyLua
prettier https://github.com/prettier/prettier
ruff https://github.com/astral-sh/ruff
clang-format https://github.com/llvm/llvm-project
markdownlint https://github.com/DavidAnson/markdownlint-cli

Treesitter

Plugin GitHub
nvim-treesitter https://github.com/nvim-treesitter/nvim-treesitter
nvim-treesitter-context https://github.com/nvim-treesitter/nvim-treesitter-context
nvim-treesitter-textobjects https://github.com/nvim-treesitter/nvim-treesitter-textobjects

UI

Plugin GitHub
gruvbox.nvim https://github.com/ellisonleao/gruvbox.nvim
lualine.nvim https://github.com/nvim-lualine/lualine.nvim
snacks.nvim https://github.com/folke/snacks.nvim
noice.nvim https://github.com/folke/noice.nvim
nvim-notify https://github.com/rcarriga/nvim-notify
nui.nvim https://github.com/MunifTanjim/nui.nvim
neo-tree.nvim https://github.com/nvim-neo-tree/neo-tree.nvim
which-key.nvim https://github.com/folke/which-key.nvim
indent-blankline.nvim https://github.com/lukas-reineke/indent-blankline.nvim
render-markdown.nvim https://github.com/MeanderingProgrammer/render-markdown.nvim
nvim-highlight-colors https://github.com/brenoprata10/nvim-highlight-colors
todo-comments.nvim https://github.com/folke/todo-comments.nvim
log-highlight.nvim https://github.com/fei6409/log-highlight.nvim
nvim-web-devicons https://github.com/nvim-tree/nvim-web-devicons

Navigation

Plugin GitHub
telescope.nvim https://github.com/nvim-telescope/telescope.nvim
telescope-fzf-native.nvim https://github.com/nvim-telescope/telescope-fzf-native.nvim
telescope-ui-select.nvim https://github.com/nvim-telescope/telescope-ui-select.nvim
smart-splits.nvim https://github.com/mrjones2014/smart-splits.nvim
treesj https://github.com/Wansmer/treesj

Git

Plugin GitHub
vim-fugitive https://github.com/tpope/vim-fugitive
gitsigns.nvim https://github.com/lewis6991/gitsigns.nvim
diffview.nvim https://github.com/sindrets/diffview.nvim

Editing

Plugin GitHub
nvim-surround https://github.com/kylechui/nvim-surround
mini.ai https://github.com/echasnovski/mini.ai
vim-sleuth https://github.com/tpope/vim-sleuth

Terminal

Plugin GitHub
toggleterm.nvim https://github.com/akinsho/toggleterm.nvim

AI

Plugin GitHub
copilot.lua https://github.com/zbirenbaum/copilot.lua
blink-cmp-copilot https://github.com/giuxtaposition/blink-cmp-copilot
CopilotChat.nvim https://github.com/CopilotC-Nvim/CopilotChat.nvim
codecompanion.nvim https://github.com/olimorris/codecompanion.nvim

Debugging (DAP)

Plugin GitHub
nvim-dap https://github.com/mfussenegger/nvim-dap
nvim-dap-ui https://github.com/rcarriga/nvim-dap-ui
nvim-nio https://github.com/nvim-neotest/nvim-nio
mason-nvim-dap.nvim https://github.com/jay-babu/mason-nvim-dap.nvim
nvim-dap-python https://github.com/mfussenegger/nvim-dap-python
nvim-dap-virtual-text https://github.com/theHamsta/nvim-dap-virtual-text
codelldb https://github.com/vadimcn/codelldb
debugpy https://github.com/microsoft/debugpy

Language Specific

Plugin GitHub
cmake-tools.nvim https://github.com/Civitasv/cmake-tools.nvim
Unreal-Nvim https://github.com/PlayKigai/Unreal-Nvim

Shared Dependencies

Plugin GitHub
plenary.nvim https://github.com/nvim-lua/plenary.nvim

Completion

Plugin GitHub
blink.cmp https://github.com/saghen/blink.cmp
LuaSnip https://github.com/L3MON4D3/LuaSnip
friendly-snippets https://github.com/rafamadriz/friendly-snippets
nvim-autopairs https://github.com/windwp/nvim-autopairs

LSP

Plugin GitHub
nvim-lspconfig https://github.com/neovim/nvim-lspconfig
mason.nvim https://github.com/mason-org/mason.nvim
mason-lspconfig.nvim https://github.com/mason-org/mason-lspconfig.nvim
mason-tool-installer.nvim https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim
lazydev.nvim https://github.com/folke/lazydev.nvim
fidget.nvim https://github.com/j-hui/fidget.nvim

LSP Servers (installed via Mason)

Server Language
lua-language-server Lua
basedpyright Python
clangd C / C++
typescript-language-server (ts_ls) TypeScript / JavaScript
css-lsp CSS
html-lsp HTML

LSP Servers — Manual Install (No Mason)

Clone or download releases directly from GitHub, build/install per each repo's README, then either put the binary on your PATH or set the machine-specific path in machine.json for servers that use lua/machine.lua (basedpyright and clangd in the current config).

Server GitHub Notes
lua-language-server https://github.com/LuaLS/lua-language-server Pre-built releases available; add bin/ to PATH
basedpyright https://github.com/DetachHead/basedpyright Install via pip install basedpyright; lsp/basedpyright.lua can also read the binary path from machine.json key basedpyright
clangd https://github.com/clangd/clangd Pre-built releases available; part of LLVM toolchain; lsp/clangd.lua can also read the binary path from machine.json key clangd
typescript-language-server https://github.com/typescript-language-server/typescript-language-server Requires Node.js; build from source with npm install
css-lsp + html-lsp https://github.com/hrsh7th/vscode-langservers-extracted Both servers come from this single repo; requires Node.js

:LspRestart currently does a stop-then-deferred-start cycle and may hit timing issues on some buffers or roots. If a restart looks incomplete, use :LspStop and then :LspStart separately.

:LspToggleDiagnostic switches virtual_text.current_line and underline state, but custom virtual_text settings may need to be re-applied manually after toggling.

Formatters & Linters (installed via Mason)

Tool Purpose
stylua Lua formatter
prettier JS / TS / CSS / HTML formatter
ruff Python formatter / import sorter
clang-format C / C++ formatter

Formatters & Linters — Manual Install (No Mason)

Same rule: build from source or grab a release binary, put it on PATH. conform.nvim and nvim-lint will pick it up automatically.

Tool GitHub Notes
stylua https://github.com/JohnnyMorganz/StyLua Pre-built releases available for all platforms
prettier https://github.com/prettier/prettier Requires Node.js; build from source with npm install
ruff https://github.com/astral-sh/ruff Requires Python; install with pip install ruff from source or release
clang-format https://github.com/llvm/llvm-project Pre-built releases available; part of LLVM toolchain
markdownlint https://github.com/DavidAnson/markdownlint-cli Requires Node.js; install with npm install so nvim-lint can lint Markdown

DAP Adapters (installed via Mason)

Adapter GitHub
codelldb https://github.com/vadimcn/codelldb
debugpy https://github.com/microsoft/debugpy

DAP Adapters — Manual Install (No Mason)

lua/plugins/debug.lua configures mason-nvim-dap.nvim to install both codelldb and debugpy. Without Mason, install from GitHub and point nvim-dap's adapter config at the binary.

Adapter GitHub Notes
codelldb https://github.com/vadimcn/codelldb Pre-built releases available; point nvim-dap at the adapter executable if needed
debugpy (Python) https://github.com/microsoft/debugpy Install with pip install debugpy; with Mason, nvim-dap-python uses the Mason debugpy virtualenv first and falls back to the system Python if the Mason package is missing

Verify that the Python interpreter selected for debugging matches the current workspace, especially when Mason is installed but the project expects a different virtualenv.


Treesitter

Plugin GitHub
nvim-treesitter https://github.com/nvim-treesitter/nvim-treesitter
nvim-treesitter-context https://github.com/nvim-treesitter/nvim-treesitter-context
nvim-treesitter-textobjects https://github.com/nvim-treesitter/nvim-treesitter-textobjects

Formatting & Linting

Plugin GitHub
conform.nvim https://github.com/stevearc/conform.nvim
nvim-lint https://github.com/mfussenegger/nvim-lint

Formatters / Linters (installed via Mason)

Tool Purpose
stylua Lua formatter
prettier JS / TS / CSS / HTML formatter
ruff Python formatter / import sorter
clang-format C / C++ formatter

UI

Plugin GitHub
gruvbox.nvim https://github.com/ellisonleao/gruvbox.nvim
lualine.nvim https://github.com/nvim-lualine/lualine.nvim
snacks.nvim https://github.com/folke/snacks.nvim
noice.nvim https://github.com/folke/noice.nvim
nvim-notify https://github.com/rcarriga/nvim-notify
nui.nvim https://github.com/MunifTanjim/nui.nvim
neo-tree.nvim https://github.com/nvim-neo-tree/neo-tree.nvim
which-key.nvim https://github.com/folke/which-key.nvim
indent-blankline.nvim https://github.com/lukas-reineke/indent-blankline.nvim
render-markdown.nvim https://github.com/MeanderingProgrammer/render-markdown.nvim
nvim-highlight-colors https://github.com/brenoprata10/nvim-highlight-colors
todo-comments.nvim https://github.com/folke/todo-comments.nvim
log-highlight.nvim https://github.com/fei6409/log-highlight.nvim
nvim-web-devicons https://github.com/nvim-tree/nvim-web-devicons

Navigation

Plugin GitHub
telescope.nvim https://github.com/nvim-telescope/telescope.nvim
telescope-fzf-native.nvim https://github.com/nvim-telescope/telescope-fzf-native.nvim
telescope-ui-select.nvim https://github.com/nvim-telescope/telescope-ui-select.nvim
smart-splits.nvim https://github.com/mrjones2014/smart-splits.nvim
treesj https://github.com/Wansmer/treesj

Git

Plugin GitHub
vim-fugitive https://github.com/tpope/vim-fugitive
gitsigns.nvim https://github.com/lewis6991/gitsigns.nvim
diffview.nvim https://github.com/sindrets/diffview.nvim

Editing

Plugin GitHub
nvim-surround https://github.com/kylechui/nvim-surround
mini.ai https://github.com/echasnovski/mini.ai
vim-sleuth https://github.com/tpope/vim-sleuth

Terminal

Plugin GitHub
toggleterm.nvim https://github.com/akinsho/toggleterm.nvim

AI

Plugin GitHub
copilot.lua https://github.com/zbirenbaum/copilot.lua
blink-cmp-copilot https://github.com/giuxtaposition/blink-cmp-copilot
CopilotChat.nvim https://github.com/CopilotC-Nvim/CopilotChat.nvim
codecompanion.nvim https://github.com/olimorris/codecompanion.nvim

Debugging (DAP)

Plugin GitHub
nvim-dap https://github.com/mfussenegger/nvim-dap
nvim-dap-ui https://github.com/rcarriga/nvim-dap-ui
nvim-nio https://github.com/nvim-neotest/nvim-nio
mason-nvim-dap.nvim https://github.com/jay-babu/mason-nvim-dap.nvim
nvim-dap-python https://github.com/mfussenegger/nvim-dap-python
nvim-dap-virtual-text https://github.com/theHamsta/nvim-dap-virtual-text

Current DAP setup auto-installs codelldb and debugpy through Mason; Python debugging is wired through nvim-dap-python, which prefers Mason's debugpy environment and falls back to the system Python when the Mason package is unavailable.


Language Specific

Plugin GitHub
cmake-tools.nvim https://github.com/Civitasv/cmake-tools.nvim
Unreal-Nvim https://github.com/PlayKigai/Unreal-Nvim

lua/plugins/unreal.lua now auto-initializes Unreal-Nvim when opening *.uproject, *.uplugin, *.Build.cs, or *.Target.cs files, and also when opening C/C++ files inside a working directory that contains a .uproject. This covers the common Unreal entry points, but edge cases may still need a manual :Unreal command.


Shared Dependencies

Plugin GitHub
plenary.nvim https://github.com/nvim-lua/plenary.nvim