This is my personal Neovim configuration, organized in a modular way and focused on productivity, backend/frontend development, and AI integration (Avante.nvim).
The goal is to allow anyone to:
- Clone the repository
- Point Neovim to it
- Quickly understand the structure and plugins used
- Neovim >= 0.10 (recommended 0.11+)
- Git
- Terminal with UTF-8 support
- Nerd Font installed (e.g., JetBrainsMono Nerd Font)
git clone https://github.com/DaNnielRody/nvim-config.gitrm -rf ~/.config/nvim
ln -s ~/nvim-config/nvim ~/.config/nvimAdvantage: any changes in the repository automatically reflect in Neovim.
rm -rf ~/.config/nvim
cp -r ~/nvim-config/nvim ~/.config/nvimnvimOn first run:
- Plugins will be installed automatically via
lazy.nvim - This may take a few minutes
nvim/
├── init.lua
├── lazy-lock.json
└── lua/
├── config/
│ ├── keybinds.lua
│ ├── lazy.lua
│ └── options.lua
└── plugins/
├── lsp/
├── auto-pairs.lua
├── auto-sessions.lua
├── cmp.lua
├── colors.lua
├── emmet.lua
├── formatting.lua
├── gisttuff.lua
├── harpoon.lua
├── image-support.lua
├── init.lua
├── linting.lua
├── lualine.lua
├── mini.lua
├── noice.lua
├── oil.lua
├── oneliners.lua
├── showkey.lua
├── snacks.lua
├── tailwind-tools.lua
├── telescope.lua
├── todo-comments.lua
├── treesitter.lua
├── trouble.lua
├── ufo.lua
├── undotree.lua
├── vim-maximizer.lua
└── wilder.lua
Responsible for global configurations:
options.lua→ Neovim options (set, opt)keybinds.lua→ keyboard shortcutslazy.lua→ bootstrap and setup for lazy.nvim
Each plugin has its own file, following the single responsibility principle.
Examples:
telescope.lua→ fuzzy findertreesitter.lua→ parsing and highlightingcmp.lua→ autocompletionlualine.lua→ statuslinenoice.lua→ improved UI/UXharpoon.lua→ quick navigationundotree.lua→ change historyoil.lua→ buffer-based file explorertrouble.lua→ diagnostics and errorstailwind-tools.lua→ DX for TailwindCSS
The plugins/init.lua file centralizes plugin loading.
Specific Language Server Protocol configurations:
- Servers
- Attach
- Capabilities
- Integration with formatter and linter
This setup uses Avante.nvim, which integrates AI models directly into the editor.
🔗 Official repository: https://github.com/yetone/avante.nvim
In the official repository you'll find:
- List of commands
- Prompt examples
- Configurations per provider (OpenAI, Anthropic, etc.)
Avante won't work without configured environment variables.
export OPENAI_API_KEY="your_api_key_here"export ANTHROPIC_API_KEY="your_api_key_here"export AZURE_OPENAI_API_KEY="your_api_key"
export AZURE_OPENAI_ENDPOINT="https://your-endpoint.openai.azure.com/"Recommended to add to one of the files below:
~/.zshrc~/.bashrc~/.profile
After defining:
source ~/.zshrc