Skip to content
This repository was archived by the owner on Feb 15, 2026. It is now read-only.

Latest commit

 

History

History
309 lines (217 loc) · 7.41 KB

File metadata and controls

309 lines (217 loc) · 7.41 KB

🦀 arch-nvim

The beautiful neovim configuration that just works for any programmer. And is maintained actively.


✨ 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

  • GDScript (Godot_ls)

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

  1. Clone the repository:
git clone https://github.com/visrust/arch-nvim.git ~/.config/nvim
  1. Checkout the stable release:
cd ~/.config/nvim
git checkout v1.0
  1. Launch Neovim and let plugins install:
nvim

📸 Screenshots

Dashboard & Workflow

Dashboard

Coding Experience

Coding

File Navigation

Navigation

Fuzzy Finding

FZF

Integrated Terminal

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

  1. Create a new file in lua/user/config/server/<category>/
  2. Configure the LSP using lspconfig
  3. 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

  1. Ensure the language server is installed:
:Mason
  1. Check LSP status:
:LspInfo

Performance Issues

  • Check for duplicate plugins in 03_DUPLICATES.md
  • Disable unused LSP servers
  • Consider using lazy loading for heavy plugins

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. 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 BugRequest Feature