Neovim config for the lazy https://lazyvim.github.io/
Find a file
github-actions[bot] 83d90f339d
Some checks failed
CI / ci (push) Has been cancelled
chore(main): release 15.15.0 (#7034)
🤖 I have created a release *beep* *boop*
---


##
[15.15.0](https://github.com/LazyVim/LazyVim/compare/v15.14.0...v15.15.0)
(2026-04-02)


### Features

* **biome:** enable biome lsp for linting
([b2830cf](b2830cfcc5))
* **biome:** move biome extra from formatting.biome ->
lang.typescript.biome
([242f098](242f0983de))
* **lazydev:** make lspconfig types available on word
`lspconfig.settings`
([36f5947](36f594716b))
* **lsp:** auto add organizeImport keymaps for LSPs that support it
([e54689e](e54689ebdc))
* **oxc:** added oxc extra for oxfmt and oxlint
([4e9eac5](4e9eac57ab))
* **sidekick:** ctrl+. focuses sidekick, but when already inside
sidekick, hides it
([50159fe](50159fe344))
* **typescript:** set `vim.g.lazyvim_ts_lsp = "tsgo"` to use the much
faster experimental lsp server
([e6f26f0](e6f26f0f23))
* **typescript:** split typescript extra in main, vtsls and tsgo
([9029d92](9029d928d2))


### Bug Fixes

* **biome:** added recommendation when root has biome config file
([ad25b31](ad25b31e51))
* **biome:** biome mason install is no longer needed
([5450006](5450006ccd))
* **biome:** use biome-check in conform that also fixes linting issues
and sorts imports
([954d874](954d8746e5))
* **lsp:** sort server names before setting keymaps
([6d0da34](6d0da34de9))
* **oxc:** added `fixKind = "all"`
([85afbbc](85afbbc94b))
* **r:** recommend for *.qmd instead of *qmd files
([3b3d649](3b3d649333))
* **terminal:** use Snacks.terminal.focus() for <C-/> mapping
([96f4f18](96f4f18d7d)),
closes [#7048](https://github.com/LazyVim/LazyVim/issues/7048)
* **treesitter:** `nvim-treesitter` on longer support nvim-0.11, so pin
when needed. Fixes
[#7092](https://github.com/LazyVim/LazyVim/issues/7092)
([ef272ff](ef272ff7cc))
* **tsgo:** disable inlayHints.functionLikeReturnTypes by default. Too
noisy
([8bcb620](8bcb620802))
* **tsgo:** remove some noisy inlay hints
([d07070b](d07070bf2f))
* **typescript:** remove keymaps for non-existing code actions
([53f4eab](53f4eabd77))
* **util.plugin:** single imports for extras
([1b4be53](1b4be534f1))


### Performance Improvements

* **extras:** never load nested extras
([8764dfb](8764dfbc8f))


### Reverts

* **lsp:** revert changes for
[#6456](https://github.com/LazyVim/LazyVim/issues/6456). Closes
[#6779](https://github.com/LazyVim/LazyVim/issues/6779)
([d0fe8c8](d0fe8c896f))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-02 10:13:57 +02:00
.github chore(main): release 15.15.0 (#7034) 2026-04-02 10:13:57 +02:00
doc chore(build): auto-generate docs 2025-10-26 15:06:24 +00:00
lua/lazyvim chore(main): release 15.15.0 (#7034) 2026-04-02 10:13:57 +02:00
queries/lua feat(lua): added LazyVim as a treesitter builtin 2024-05-15 15:31:08 +02:00
scripts ci: update test scripts 2025-10-08 21:26:13 +02:00
tests test: fix tests 2026-03-20 23:16:04 +01:00
.editorconfig chore(update): update repository (#4054) 2024-07-15 17:09:19 +02:00
.gitignore ci: update 2024-07-06 23:45:22 +02:00
.markdownlint-cli2.yaml chore(update): update repository (#6712) 2025-10-28 16:14:16 +01:00
.neoconf.json build: neoconf sumneko_lua => lua_ls 2023-03-04 10:41:52 +01:00
CHANGELOG.md chore(main): release 15.15.0 (#7034) 2026-04-02 10:13:57 +02:00
CONTRIBUTING.md docs: added LSP keymap specs to CONTRIBUTING.md 2025-10-23 09:26:48 +02:00
init.lua feat(init)!: disable init.lua and show a message on how to use LazyVim 2023-01-07 11:44:40 +01:00
LICENSE docs: added LICENSE 2023-01-01 09:48:09 +01:00
NEWS.md docs(treesitter): fix checkhealth command (#6433) 2025-09-17 10:40:37 +02:00
README-CN.md docs(README): bump Neovim requirement to 0.11.2 (#6611) 2025-10-11 08:48:48 +02:00
README-DE.md docs(README): bump Neovim requirement to 0.11.2 (#6611) 2025-10-11 08:48:48 +02:00
README-ES.md docs(README): bump Neovim requirement to 0.11.2 (#6611) 2025-10-11 08:48:48 +02:00
README-FR.md docs(fr): add readme in french (#5300) 2025-10-20 00:01:17 -07:00
README-IT.md docs(README): bump Neovim requirement to 0.11.2 (#6611) 2025-10-11 08:48:48 +02:00
README-JP.md docs(README): bump Neovim requirement to 0.11.2 (#6611) 2025-10-11 08:48:48 +02:00
README-KO.md docs(README): bump Neovim requirement to 0.11.2 (#6611) 2025-10-11 08:48:48 +02:00
README-PL.md Added Polish translation of README (README-PL.md) (#5816) 2025-10-19 23:59:40 -07:00
README-PT.md docs(README): bump Neovim requirement to 0.11.2 (#6611) 2025-10-11 08:48:48 +02:00
README.md docs: remove video from readme, since it's outdated 2025-10-20 16:11:03 +02:00
selene.toml ci: update 2024-07-05 15:31:26 +02:00
stylua.toml build(format): sort requires 2023-10-09 11:34:23 +02:00
vim.yml ci: update test scripts 2025-10-08 21:26:13 +02:00


Install · Configure · Docs

LazyVim is a Neovim setup powered by 💤 lazy.nvim to make it easy to customize and extend your config. Rather than having to choose between starting from scratch or using a pre-made distro, LazyVim offers the best of both worlds - the flexibility to tweak your config as needed, along with the convenience of a pre-configured setup.

image

image

Features

  • 🔥 Transform your Neovim into a full-fledged IDE
  • 💤 Easily customize and extend your config with lazy.nvim
  • 🚀 Blazingly fast
  • 🧹 Sane default settings for options, autocmds, and keymaps
  • 📦 Comes with a wealth of plugins pre-configured and ready to use

Requirements

  • Neovim >= 0.11.2 (needs to be built with LuaJIT)
  • Git >= 2.19.0 (for partial clones support)
  • a Nerd Font (optional)
  • a C compiler for nvim-treesitter. See here

🚀 Getting Started

You can find a starter template for LazyVim here

Try it with Docker
docker run -w /root -it --rm alpine:edge sh -uelic '
  apk add git lazygit fzf curl neovim ripgrep alpine-sdk --update
  git clone https://github.com/LazyVim/starter ~/.config/nvim
  cd ~/.config/nvim
  nvim
'
Install the LazyVim Starter
  • Make a backup of your current Neovim files:

    mv ~/.config/nvim ~/.config/nvim.bak
    mv ~/.local/share/nvim ~/.local/share/nvim.bak
    
  • Clone the starter

    git clone https://github.com/LazyVim/starter ~/.config/nvim
    
  • Remove the .git folder, so you can add it to your own repo later

    rm -rf ~/.config/nvim/.git
    
  • Start Neovim!

    nvim
    

    Refer to the comments in the files on how to customize LazyVim.


@dusty-phillips wrote a comprehensive book called LazyVim for Ambitious Developers available for free online.

📂 File Structure

The files under config will be automatically loaded at the appropriate time, so you don't need to require those files manually. LazyVim comes with a set of default config files that will be loaded before your own. See here

You can add your custom plugin specs under lua/plugins/. All files there will be automatically loaded by lazy.nvim

~/.config/nvim
├── lua
│   ├── config
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazy.lua
│   │   └── options.lua
│   └── plugins
│       ├── spec1.lua
│       ├── **
│       └── spec2.lua
└── init.lua

⚙️ Configuration

Refer to the docs