ScriptsMay 14, 2026·3 min read

LazyVim — Neovim Config for the Lazy

A Neovim setup powered by lazy.nvim that transforms Neovim into a full IDE with sensible defaults and an extras system for optional feature packs.

Agent ready

This asset can be read and installed directly by agents

TokRepo exposes a universal CLI command, install contract, metadata JSON, adapter-aware plan, and raw content links so agents can judge fit, risk, and next actions.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
LazyVim Overview
Universal CLI install command
npx tokrepo install ace76f65-4fb0-11f1-9bc6-00163e2b0d79

Introduction

LazyVim is a Neovim distribution built on top of lazy.nvim that provides a complete IDE experience with carefully chosen defaults. It uses an extras system that lets you toggle optional feature packs for languages, formatters, and tools without editing plugin specs by hand.

What LazyVim Does

  • Configures LSP, formatting, linting, and completion with zero manual setup
  • Provides 80+ optional extras for language support and tool integrations
  • Ships keymaps built around which-key for discoverability
  • Handles automatic plugin updates with lazy.nvim lockfiles
  • Offers a dashboard, file explorer, buffer management, and terminal integration

Architecture Overview

LazyVim is structured as a lazy.nvim plugin itself. It defines a base configuration, then layers user overrides on top. The extras system works by exposing optional lazy.nvim spec files that users enable in their config. When an extra is activated, its plugins, LSP servers, and formatters are automatically registered. This approach keeps the base lean while supporting deep customization.

Self-Hosting & Configuration

  • Clone the LazyVim starter template into your Neovim config directory
  • Enable extras in lua/config/lazy.lua by adding them to the extras table
  • Override any plugin spec by creating a file in lua/plugins/ with the same plugin name
  • Customize keymaps, options, and autocmds in lua/config/
  • Requires Neovim 0.9+ and optionally a Nerd Font

Key Features

  • Extras system for toggling language and tool support declaratively
  • Which-key integration shows available keybindings contextually
  • Pre-configured formatters via conform.nvim and linters via nvim-lint
  • Automatic Mason installation of LSP servers and tools
  • Built-in support for Telescope, Neo-tree, and Trouble diagnostics

Comparison with Similar Tools

  • kickstart.nvim — educational starter; LazyVim is a full managed distribution
  • NvChad — focuses on custom UI and themes; LazyVim focuses on the extras ecosystem
  • AstroNvim — community plugin packs via astrocommunity; LazyVim uses built-in extras
  • LunarVim — IDE layer with its own installer; LazyVim is just a lazy.nvim plugin
  • Doom Emacs — Emacs module system; LazyVim offers a similar concept for Neovim

FAQ

Q: How do I enable TypeScript support? A: Add lazyvim.plugins.extras.lang.typescript to your extras list in lua/config/lazy.lua.

Q: Can I use LazyVim alongside my existing config? A: No. LazyVim expects to own the Neovim config directory. Back up your existing config first.

Q: How do I override a default keymap? A: Create a keymaps.lua file in lua/config/ and define your overrides there.

Q: Is LazyVim still maintained? A: Yes. It receives regular updates and new extras from the maintainer and community.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets