Clone into Neovim's config folder, then run the installer from a normal terminal. Run it again after every pull; anything already in place is left alone.
Windows (PowerShell, e.g. in Windows Terminal):
git clone https://github.com/tminhvu/nvim_lazies "$env:LOCALAPPDATA\nvim"
powershell -ExecutionPolicy Bypass -File "$env:LOCALAPPDATA\nvim\install.ps1"Linux (apt, dnf or pacman; asks for sudo):
git clone https://github.com/tminhvu/nvim_lazies ~/.config/nvim
~/.config/nvim/install.shmacOS: not written yet (install_macos in install.sh).
The installer sets up:
- Tools: Neovim 0.12+, git, the tree-sitter CLI (0.26.1+) and a C compiler to build the treesitter parsers (zig on Windows, gcc on Linux), fzf, ripgrep, fd, Node.js for the npm-based LSP servers, a clipboard tool on Linux, Neovide, Alacritty with tmux (psmux on Windows), and the JetBrainsMono and Iosevka Nerd Fonts in their Mono variants, whose icons are one cell wide like the text. Windows uses winget. Linux uses the distro's packages, falling back to the official Neovim, tree-sitter, Neovide and Nerd Font releases in
~/.localwhen those are missing or too old. - Neovim side (
scripts/setup.lua): plugins at thelazy-lock.jsonversions, the treesitter parsers, the LSP servers through mason, the Neovide, Alacritty, tmux and Windows Terminal configs, annalias for Neovide, and on Windows bash-style Tab completion in PowerShell. Tab completes as far as the matches agree, and a second Tab lists them all (Set-PSReadLineKeyHandler -Key Tab -Function Completein your PowerShell profile).
Use a normal terminal, not one inside an app installed from the Microsoft Store (MSIX). Such an app can get a private, redirected copy of AppData, so the Neovide config would never reach the real %APPDATA%. install.ps1 checks for this and stops.
neovide/config.tomlis copied to%APPDATA%\neovide\config.tomlon Windows and~/.config/neovide/config.tomlon Linux. If the installed copy differs, it's backed up asconfig.toml.bakfirst.nandn fileopen Neovide. The alias goes in your PowerShell profile, or in.bashrc,.zshrcor fish'sconfig.fish.Ctrl+=/Ctrl+-zoom in and out, andCtrl+0resets (lua/config/neovide.lua). Zoom isn't saved; to keep a size, changesizeinneovide/config.toml.
A VS Code-style minimap on the right (neominimap, lua/config/lazy/plugins/minimap.lua). It draws the code in braille dots in its syntax colors, and marks diagnostics, git changes and search hits. It's a 20-column split of its own, so it covers no code, and it opens with the editor.
- Click in it to jump there.
<leader>mmtoggles it.<leader>mfmoves the cursor into it and back.
windows-terminal/settings.json is installed over Windows Terminal's own settings.json (in its package folder; a differing copy is backed up as .bak first). It's skipped if Windows Terminal isn't installed. The settings:
- Iosevka Nerd Font Mono 11 SemiBold with ClearType, and the Tango Light colors
- Windows PowerShell, starting in
%USERPROFILE%\Repos - the same tab keys as Alacritty + tmux:
Ctrl+Shift+Tnew tab,Ctrl+Shift+Qclose tab,Alt+1…Alt+9go to tab 1 … 9
Changes made in Windows Terminal's settings screen are overwritten on the next install; to keep one, copy it into this file.
A lightweight terminal to run nvim in, in nvim's own colors (catppuccin latte), with tabs from tmux. On Windows that's psmux, a native tmux for Windows; it installs a tmux command and reads the same config.
| Keys | |
|---|---|
Ctrl+Shift+T |
new tab, in the current folder |
Ctrl+Shift+Q |
close the current tab (the last one closes the window) |
Alt+1 … Alt+9 |
go to tab 1 … 9 |
The tabs show in a bar along the bottom. It sits there because psmux puts mouse clicks a row too low when the bar is on top. Closing the window closes its tabs, and nothing keeps running in the background.
- Files:
alacritty/alacritty.toml: font (Iosevka Nerd Font Mono 11 SemiBold), colors, the window, and the keys above. It's installed to%APPDATA%\alacritty\alacritty.tomlon Windows and~/.config/alacritty/alacritty.tomlon Linux. New windows start in~/Reposwhen it exists.tmux/tmux.conf: the tabs and their bar. It's installed as~/.tmux.conf, withtmux/windows.conf(PowerShell,Ctrl+Vfor nvim) ortmux/linux.conf(true color and undercurl) appended.- A differing installed copy of either is backed up as
.bakfirst.
- Linux: Alacritty needs 0.14+ for this config. It comes from the distro if that's new enough; otherwise it's built with
cargointo~/.local/bin. - Copy and paste are
Ctrl+Shift+C/Ctrl+Shift+V.Ctrl+Calways interrupts, andCtrl+Vreaches nvim (visual block).Alt+tandAlt+qalso open and close tabs. - Windows text uses grayscale smoothing rather than ClearType. Neovim can't ask the terminal for its background color there, so it opens in light mode (
lua/config/lazy/plugins/colorschemes.lua), and:ThemeToggleswitches.