Skip to content

NoamFav/Nvim-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

128 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nvim-config Banner Typing SVG

Neovim Lua lazy.nvim License

Documentation
πŸš€ Features ⌨️ Key Mappings 🧩 Plugin Reference
πŸ“¦ Requirements πŸ› οΈ Install Guide (per-OS) πŸ—οΈ Architecture

What is this

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.

Tech Stack

Core


Plugin & LSP Layer


UI & Navigation


Languages

Features

πŸ” Finding Things

  • Smart picker β€” Snacks.picker for files, grep, buffers, git, LSP symbols, diagnostics, and more
  • Harpoon β€” pin & jump between 4 files instantly
  • Dashboard β€” recent files, projects, live git status

🧠 LSP & Completion

  • 28 language servers, native vim.lsp.config, zero nvim-lspconfig boilerplate
  • blink.cmp β€” LSP + path + snippets + buffer + emoji + dictionary sources
  • Trouble β€” pinned diagnostics/symbols panes, follow-cursor
  • Lspsaga β€” hover docs, rename, code action menu

🌐 Git & Tools

  • LazyGit, Diffview, Gitsigns, git-blame, git-conflict β€” all wired through Snacks/native keymaps
  • Toggleterm β€” floating terminal, one keystroke away
  • 42 School β€” header stamping + Norm linting + c_formatter_42

πŸ“š Language Extras

  • Jupyter notebooks β€” Molten + image.nvim (Kitty graphics protocol)
  • LaTeX β€” VimTeX + latexmk, live compile
  • Go β€” go.nvim: run/test/coverage/struct-tags/iferr, all layered over gopls
  • C/C++ β€” clangd inlay hints + AST view + parameter highlighting

Full write-up, with the reasoning behind each pick, in docs/FEATURES.md.

Quickstart

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

# Clone this config
git clone https://github.com/NoamFav/Nvim-config ~/.config/nvim

# 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 :Mason after first launch to confirm every server installed cleanly, and :checkhealth to 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 bash runs arbitrary code with your permissions β€” read it first if that matters to you: scripts/install.sh.

Colorschemes

Switch with <leader>uC β€” all configured transparent by default.

Footer typing

MIT β€” see LICENSE

Made with β™₯ by NoamFav

About

Personal neovim config, modern features and configuration near IDE level. Build with Lazy and mason

Topics

Resources

License

Code of conduct

Stars

5 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors