LazyVim

    LazyVim/LazyVim

    Neovim config for the lazy

    developer-tools
    neovim
    neovim-conf
    neovim-config
    neovim-configuration
    neovim-plugin
    nvim
    Lua
    Apache-2.0
    23.4K stars
    1.6K forks
    23.4K watching
    Updated 2/27/2026
    View on GitHub
    Backblaze Advertisement

    Loading star history...

    Health Score

    24.89

    Weekly Growth

    +0

    +0.0% this week

    Contributors

    1

    Total contributors

    Open Issues

    85

    Generated Insights

    About LazyVim


    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.


    There's a great video created by @elijahmanor with a walkthrough to get started.

    Watch the video

    @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

    Discover Repositories

    Search across tracked repositories by name or description