🦀 arch-nvim
The beautiful neovim configuration that just works for any programmer. And is maintained actively.

[](https://github.com/visrust/arch-nvim/releases/tag/v1.0)
[](https://neovim.io)
[](LICENSE)
[](https://github.com/visrust/arch-nvim)
[Features](#-features) • [Installation](#-installation) • [Screenshots](#-screenshots) • [Keymaps](/arch-nvim/KEYMAPS.html) • [Documentation](#-documentation)
✨ Features
🎨 Beautiful & Modern UI
- 56 carefully curated plugins for optimal performance
- Multiple premium themes (TokyoNight, Catppuccin, Rose Pine, Nightfox)
- Elegant bufferline with
nvim-cokeline
- Stunning statusline powered by
lualine.nvim
- Alpha dashboard for quick access
🚀 Productivity Powerhouse
- 20 LSP servers pre-configured for multiple languages
- Lightning-fast fuzzy finding with
fzf-lua
- Advanced completion with
blink.cmp
- Integrated debugging with
nvim-dap
- Smart code navigation with
leap.nvim
- Session management with
resession.nvim
🛠️ Developer Experience
- Git integration via
lazygit.nvim
- File management with
oil.nvim and yazi.nvim
- Terminal integration with
toggleterm.nvim
- Auto-pairs, surround operations, and multi-cursor editing
- Code formatting with
conform.nvim
- Comprehensive snippet support
🎯 Language Support
High-Level Languages
- Python (pyright)
- Lua (lua_ls)
Low-Level Languages
- C/C++ (clangd)
- Rust (rust-analyzer)
- Zig (zls)
- Assembly (asm-lsp)
- CMake
Web Development
- TypeScript/JavaScript (ts_ls)
- HTML, CSS
- Go (gopls)
- PHP (phpactor)
Game Development
Utilities & Documentation
- Bash, Docker, JSON, YAML
- Markdown (marksman, vale)
- Vim script
📦 Installation
Prerequisites
- Neovim ≥ 0.9.0
- Git
- A Nerd Font (recommended: JetBrainsMono Nerd Font)
- Node.js (for some LSP servers)
- Ripgrep (for fzf-lua)
Quick Install
# Backup your existing config
mv ~/.config/nvim ~/.config/nvim.backup
# Clone arch-nvim (stable v1.0)
git clone --depth 1 --branch v1.0 https://github.com/visrust/arch-nvim.git ~/.config/nvim
# Launch Neovim
nvim
The plugin manager will automatically install all plugins on first launch.
Manual Installation
- Clone the repository:
git clone https://github.com/visrust/arch-nvim.git ~/.config/nvim
- Checkout the stable release:
cd ~/.config/nvim
git checkout v1.0
- Launch Neovim and let plugins install:
📸 Screenshots
Dashboard & Workflow

Coding Experience

File Navigation

Fuzzy Finding

Integrated Terminal

📚 Documentation
📊 Configuration Overview
| Metric |
Count |
| Unique Plugins |
56 |
| LSP Servers |
20 |
| Keybindings |
36+ |
| Functions |
56 |
| Themes |
4 |
📖 Detailed Documentation
⚙️ Configuration Structure
arch-nvim/
├── lua/
│ └── user/
│ ├── config/ # Plugin configurations
│ │ ├── dap/ # Debugger setup
│ │ ├── ide/ # IDE features
│ │ ├── server/ # LSP servers
│ │ └── tools/ # Utility tools
│ ├── sys/ # System configurations
│ ├── ui/ # UI components
│ └── other/ # Miscellaneous
└── init.lua # Entry point
⌨️ Quick Reference
For the complete keybinding reference, see KEYMAPS.md
Essential Shortcuts
| Key |
Action |
Mode |
<Tab> |
Next buffer |
Normal |
<leader>hf |
Help tags (Fuzzy) |
Normal |
<leader>zz |
Run code |
Normal |
<leader>dd |
Debug |
Normal |
m / M |
Leap forward/backward |
Normal |
<leader>ut |
Toggle Undotree |
Normal |
Leader Key Groups
<leader>r* - Replace operations
<leader>l* - LSP operations
<leader>d* - Debug operations
<leader>g* - Git operations
gp* - Goto preview operations
🔧 Customization
Changing the Theme
Edit lua/user/sys/plugins.lua and modify the colorscheme section:
-- Available themes: tokyonight, catppuccin, rose-pine, nightfox
vim.cmd([[colorscheme tokyonight]])
Adding LSP Servers
- Create a new file in
lua/user/config/server/<category>/
- Configure the LSP using
lspconfig
- The server will be automatically loaded
Modifying Keybindings
Edit keybindings in:
lua/user/sys/mappings.lua - Core mappings
lua/user/other/keymaps/general.lua - General keymaps
- Individual plugin configs for plugin-specific maps
🐛 Troubleshooting
Plugins Not Installing
# Remove plugin cache
rm -rf ~/.local/share/nvim
# Restart Neovim
nvim
LSP Not Working
- Ensure the language server is installed:
- Check LSP status:
- Check for duplicate plugins in 03_DUPLICATES.md
- Disable unused LSP servers
- Consider using lazy loading for heavy plugins
🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Development Guidelines
- Follow the existing configuration structure
- Document new keybindings
- Update KEYMAPS.md for new shortcuts
- Test with multiple languages
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
💖 Acknowledgments
Special thanks to all the plugin authors and the Neovim community for making this configuration possible.
Featured Plugins
🌟 Star History
If you find this configuration helpful, please consider giving it a star! ⭐
**Built with ❤️ for the Neovim community**
[Report Bug](https://github.com/visrust/arch-nvim/issues) • [Request Feature](https://github.com/visrust/arch-nvim/issues)