My personal Neovim configuration based on LazyVim.
- 🚀 Fast startup with lazy loading
- 🎨 Beautiful colorschemes (Catppuccin, Tokyo Night)
- 📦 Comprehensive plugin setup
- 🔧 Customized keymaps and options
- 🤖 AI-powered coding with CodeCompanion
- 📚 And much more!
- Neovim >= 0.9.0
- Git
- A Nerd Font (optional, but recommended)
Important: I recommend forking this repository rather than cloning it directly. This config is meant to be a starting point for building your own personalized setup, not something to rely on exclusively.
# 1. Fork this repo on GitHub (click the "Fork" button)
# 2. Backup your existing config (if any)
mv ~/.config/nvim ~/.config/nvim.backup
# 3. Clone YOUR fork (replace YOUR-USERNAME with your GitHub username)
git clone https://github.com/YOUR-USERNAME/awesome-nvim-config.git ~/.config/nvim
# 4. Start Neovim - plugins will install automatically
nvimOn your first Neovim start, you MUST run :checkhealth to verify dependencies. Many plugins depend on external binaries that require separate installation (ripgrep, fd, tree-sitter CLI, language servers, formatters, linters, etc.).
:checkhealthThis will show you what's missing and guide you on what to install. Don't skip this step or you'll encounter errors and missing functionality!
- Personalization: Neovim configs are highly personal. What works for me might not work for you.
- Control: You'll have full control over your configuration and can customize it freely.
- Learning: Forking encourages you to understand and modify the config rather than blindly using someone else's setup.
If you're curious about my updates, you can:
# Add the original repo as upstream (optional)
cd ~/.config/nvim
git remote add upstream https://github.com/fredguile/awesome-nvim-config.git
# View my changes (without merging)
git fetch upstream
git log --oneline upstream/masterThen selectively cherry-pick changes that interest you, rather than merging wholesale.
~/.config/nvim/
├── init.lua # Entry point
├── lua/
│ ├── config/ # Core configuration
│ │ ├── keymaps.lua # Key mappings
│ │ ├── lazy.lua # Lazy.nvim setup
│ │ └── options.lua # Neovim options
│ └── plugins/ # Plugin configurations
└── bin/ # Helper scripts
This configuration is designed to be customized! Here's how:
- Add/remove plugins: Edit files in
lua/plugins/ - Modify keymaps: Update
lua/config/keymaps.lua - Adjust settings: Change options in
lua/config/options.lua - Try different colorschemes: Check out the colorscheme plugins
Feel free to delete anything you don't need and add what you want!
- Based on LazyVim
- Inspired by @hadynz's dotfiles - huge help in building this config!
- Thanks to the amazing Neovim community
MIT License - feel free to use and modify!