A customized LazyVim setup with enhanced debugging, task running, and development tools.
- Full Debugging Support - DAP configuration for JavaScript/TypeScript, Python, and Rust
- Task Runner - Run npm scripts and project tasks with Overseer
- Smart File Explorer - Shows hidden files by default
- Enhanced Search - Hidden files included in file search
- Stable Debugging UI - No flickering during log streaming
- VS Code-like Experience - Familiar debugging and task running workflow
- Neovim >= 0.9.0 with LuaJIT
- Git >= 2.19.0
- Node.js (for JavaScript/TypeScript debugging)
- Python (for Python debugging)
- Rust (for Rust debugging)
- A Nerd Font (optional, for icons)
-
Backup existing config (if any):
mv ~/.config/nvim ~/.config/nvim.backup mv ~/.local/share/nvim ~/.local/share/nvim.backup
-
Clone this repository:
git clone https://github.com/yourusername/nvim-config.git ~/.config/nvim -
Start Neovim:
nvim
-
Install debuggers (after Neovim loads):
:Mason
Then install:
js-debug-adapter(JavaScript/TypeScript)debugpy(Python)codelldb(Rust)
<leader>dc- Start/Continue debugging<leader>db- Toggle breakpoint<leader>du- Toggle DAP UI<leader>dO- Step over<leader>di- Step into<leader>do- Step out<leader>dt- Terminate debuggingK- Hover over variable (during debugging)
<leader>oo- Run task (npm scripts, etc.)<leader>ow- Toggle task list<leader>oq- Quick actions
<leader>e- Toggle file explorer<space><space>- Find files (includes hidden)<leader>/- Search in files
โโโ init.lua # Entry point
โโโ lua/
โ โโโ config/ # Core configuration
โ โ โโโ lazy.lua # Lazy.nvim setup
โ โ โโโ options.lua # Neovim options
โ โ โโโ keymaps.lua # Custom keymaps
โ โ โโโ autocmds.lua # Auto commands
โ โ โโโ lsp-fix.lua # LSP error handling
โ โ โโโ dap-stability.lua # Debug UI stability
โ โโโ plugins/ # Plugin configurations
โ โโโ dap.lua # Debugging setup
โ โโโ overseer.lua # Task runner
โ โโโ snacks.lua # File explorer & picker
โ โโโ npm-tasks.lua # npm script debugging
โ โโโ eslint-fix.lua # ESLint configuration
โโโ stylua.toml # Lua formatting
โโโ lazyvim.json # LazyVim extras
โโโ CLAUDE.md # Development guidance
- Set breakpoints:
<leader>dbin your code - Start debugging:
<leader>dc(UI opens automatically) - Debug controls: Step through code with
<leader>dO,<leader>di,<leader>do - Inspect variables: Hover with
Kor use DAP UI panels - Close UI:
<leader>duwhen done
- Run npm scripts:
<leader>ooโ select script - Debug npm scripts:
<leader>dcโ select npm script from debug configs - View output:
<leader>owfor task list and output
This is a personal configuration, but feel free to fork and adapt it to your needs!
MIT License - see LICENSE file for details.