aikhe helped me build this setup from scratch so you'd better checkout his own amazing set up as well here
- package manager: lazy.nvim
- fuzzy finder & telemetry: snacks.nvim (snacks.picker, notifier, bigfile)
- language servers: managed by Mason and lspconfig
- completion: nvim-cmp with cmp-cmdline for real-time command suggestions
- formatters: conform.nvim (stylua, prettierd, csharpier)
- file explorer: Neo-tree, Oil.nvim, and csharp-explorer.nvim
- statusline: Lualine with live LSP indicators
- quickfix enhancement: nvim-bqf for floating Treesitter previews
- git telemetry & blame: gitsigns.nvim
- git diff & history: diffview.nvim
- ast text objects: nvim-treesitter-textobjects
- task & debt management: todo-comments.nvim and dooing
- multiplexer navigation: vim-tmux-navigator for seamless split/pane hopping
- code execution: native bottom split terminal runner on
<F6>+ cake terminal - discord rpc: Cord.nvim
- nvim wrapped: wrapped.nvim
For a fresh operating system install or automated setup, run the appropriate one-liner:
curl -fsSL https://raw.githubusercontent.com/frtzhahn/nvim-setup/master/scripts/install.sh | bashirm -useb https://raw.githubusercontent.com/frtzhahn/nvim-setup/master/scripts/install.ps1 | iexTip
The automated scripts detect your OS and package manager (pacman, apt, dnf, pkg, or scoop), install the required compilers and runtimes, ensure Neovim >= 0.12.0 (with standalone fallback if distro packages are outdated), non-destructively back up existing configurations, and bootstrap plugins headlessly.
If you prefer to install dependencies manually, follow the instructions for your platform below.
- neovim (0.12+): required for modern Treesitter support (
mainbranch) and unifiedvim.lsp.config. - tree-sitter CLI: required to compile Treesitter language parsers (
tree-sitter-cli). - nerd font: for icons (recommendation: JetBrainsMono Nerd Font).
- git & curl: plugin and tool installation.
- ripgrep & fd: high-performance file searching and live grepping.
sudo apt update
sudo apt install -y git curl wget tar unzip ca-certificates build-essential cmake ripgrep fd-find xclip wl-clipboard zsh nodejs npm python3 python3-pip python3-venv python3-pynvim openjdk-17-jdk golang-go lua5.4 tree-sitter-cli
mkdir -p ~/.local/bin
ln -sf $(which fdfind) ~/.local/bin/fdsudo dnf install -y git curl wget tar unzip make gcc gcc-c++ cmake ripgrep fd-find xclip wl-clipboard zsh nodejs npm python3 python3-pip python3-pynvim java-17-openjdk-devel golang lua tree-sitter-clisudo pacman -S --needed neovim git curl wget tar unzip base-devel cmake ripgrep fd xclip wl-clipboard zsh nodejs npm python python-pip python-pynvim jdk-openjdk go lua tree-sitter tree-sitter-cli- install scoop and required buckets:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force irm -useb get.scoop.sh | iex scoop install git 7zip scoop bucket add extras scoop bucket add versions scoop bucket add java
- install core tools:
scoop install neovim-nightly curl wget jq make mingw cmake ripgrep fd win32yank nodejs-lts python openjdk17 go lua tree-sitter
Note
- Ensure your Neovim is v0.12.0 or later (on Windows via Scoop, install
neovim-nightlyfrom theversionsbucket). - Treesitter requires a C compiler to compile language parsers. On Windows,
mingwprovidesgcc, and this configuration automatically setsCC = "gcc"if MSVC (cl.exe) is absent.
- font setup: open your terminal settings and set the font to any nerd font.
- clone this repo directly on
.config/nvimdirgit clone https://github.com/frtzhahn/nvim-setup.git ~/.config/nvim - launch nvim on your terminal
Lazy.nvim will automatically start installing plugins once finished run
nvim
:Masonto verify LSPs are installed.
-
create a dir to store the config files and clone the repo inside of it
mkdir $env:LOCALAPPDATA\nvim -Force git clone https://github.com/frtzhahn/nvim-setup.git $env:LOCALAPPDATA\nvim
-
font setup: open windows terminal, go to Settings > Defaults > Appearance, and set the Font face to a Nerd Font (e.g., Cascadia Code NF or JetBrainsMono NF).
-
launch & sync: type nvim in your terminal - Lazy.nvim will automatically start downloading all plugins - restart nvim - run :Mason inside Neovim to ensure your LSPs (like lua_ls, pyright, etc.) are being installed.
Important
Detailed guides and references are located in the docs/ directory:
- Config Architecture & Design Principles — Hardware vs software layer breakdown, cold boot telemetry, and system structure.
- Keymap Reference Manual — Complete catalog of navigation, LSP, Git, and editing keybindings.
- Tooling & LSP Matrix — Language servers, auto-formatting rules, and DAP debugger setups.
- My Engineering Workflows — Practical guides for
<F6>execution, tmux navigation, quickfix triage, and task tracking.
