- Lua 84.4%
- Shell 11.9%
- Vim Script 3.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .github/ISSUE_TEMPLATE | ||
| colors | ||
| docs | ||
| lua | ||
| scripts | ||
| .gitignore | ||
| .luarc.json | ||
| _config.yml | ||
| CODE_OF_CONDUCT.md | ||
| init.lua | ||
| init.lua.bak | ||
| lazy-lock.json | ||
| LICENSE | ||
| README.md | ||
| vimrc | ||
| 🚀 Features | ⌨️ Key Mappings | 🧩 Plugin Reference |
| 📦 Requirements | 🛠️ Install Guide (per-OS) | 🏗️ Architecture |
A single Neovim config that stays fast across 28 language servers without turning into config soup. One central file — lua/lsp/servers.lua — declares every server and its settings; Mason installs the binaries; native vim.lsp.config/vim.lsp.enable wires them up, with no nvim-lspconfig server tables duplicating that work. Formatting, Treesitter parsers, and colorschemes follow the same one-file-per-concern pattern. Full breakdown in docs/ARCHITECTURE.md.
Core
Plugin & LSP Layer
UI & Navigation
Languages
🔍 Finding Things
🧠 LSP & Completion
|
======= 🌐 Git & Tools
📚 Language Extras
|
Full write-up, with the reasoning behind each pick, in docs/FEATURES.md.
Option A — scripted (macOS/Linux). Backs up any existing config, installs core deps + a Nerd Font, optionally installs language runtimes (prompted interactively, or pass -l go,rust,python, or -l all), fetches OmniSharp if you picked dotnet, clones, and launches:
curl -fsSL https://raw.githubusercontent.com/NoamFav/Nvim-config/main/scripts/install.sh | bash -s -- -l go,rust,python
# or just `... | bash` to be prompted for languages, or add -y to skip every prompt
See scripts/install.sh --help (or the top of the file) for every flag.
Option B — manual:
# Core requirements (macOS/Homebrew shown — see docs/INSTALL.md for Linux/Windows)
brew install neovim git ripgrep fd lazygit tree-sitter universal-ctags
# Backup existing config
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
---
## Installation
# Create the backup/swap/undo dirs lua/core/options.lua expects
mkdir -p ~/.logs/nvim/backup ~/.logs/nvim/swap ~/.logs/nvim/undo
# Launch — lazy.nvim bootstraps itself, installs plugins,
# then Mason auto-installs LSP servers + formatters
nvim
Tip
Run
:Masonafter first launch to confirm every server installed cleanly, and:checkhealthto catch any missing system dependency.
Note
Only need a couple of languages? Don't install every runtime in docs/REQUIREMENTS.md — Mason only installs servers/formatters, not compilers/SDKs, so add those as you actually need them.
[!WARNING] > scripts/install.sh covers macOS (Homebrew), Ubuntu/Debian (apt), Fedora (dnf), and Arch (pacman) — no Windows/WSL path. Language runtimes it can't install cleanly (e.g. Dart/Terraform on apt, most AUR-only packages on Arch) print a warning with a link instead of silently skipping. Piping any script into
bashruns arbitrary code with your permissions — read it first if that matters to you: scripts/install.sh.
Switch with <leader>uC — all configured transparent by default.