My personal Neovim configuration built on LazyVim with the Gruvbox colorscheme.
| Plugin | Purpose |
|---|---|
| LazyVim/LazyVim | Base IDE layer — LSP, completions, formatting, UI, and sensible defaults |
| folke/lazy.nvim | Plugin manager |
| ellisonleao/gruvbox.nvim | Gruvbox colorscheme |
| nvim-telescope/telescope.nvim | Fuzzy finder for files, grep, buffers, and more |
| nvim-telescope/telescope-file-browser.nvim | File browser extension for Telescope |
| nvim-lua/plenary.nvim | Utility library (Telescope dependency) |
lazyvim.plugins.extras.lang.typescript— TypeScript/JavaScript language supportlazyvim.plugins.extras.lang.json— JSON language support
All default LazyVim keymaps apply. Custom additions:
| Mapping | Mode | Description |
|---|---|---|
<leader>sB |
Normal | Browse files (Telescope file browser, rooted at current file's directory) |
- Neovim >= 0.9.0
- Git
- A Nerd Font (for icons)
- ripgrep (for Telescope live grep)
- A C compiler (for treesitter) — on Windows,
zigor MSVC work well
-
Back up any existing Neovim config:
# Windows Move-Item $env:LOCALAPPDATA\nvim $env:LOCALAPPDATA\nvim.bak
-
Clone this repo:
git clone https://github.com/<your-username>/nvim.git $env:LOCALAPPDATA\nvim
-
Launch Neovim — lazy.nvim will auto-install all plugins on first run:
nvim
nvim/
├── init.lua # Entry point — loads config.lazy
├── lua/
│ ├── config/
│ │ ├── autocmds.lua # Custom autocommands
│ │ ├── keymaps.lua # Custom key mappings
│ │ ├── lazy.lua # lazy.nvim bootstrap and plugin spec
│ │ ├── lazyvim.lua # LazyVim options (colorscheme)
│ │ └── options.lua # Vim options
│ └── plugins/
│ ├── file-browser.lua # Telescope file browser
│ ├── gruvbox.lua # Gruvbox colorscheme setup
│ └── telescope.lua # Telescope core setup
├── stylua.toml # StyLua formatter config
└── lazyvim.json # LazyVim metadata