# Neovim config This repo contains my Neovim config only. You still need Neovim and a few system tools installed. It is meant to work after a plain git clone plus the bootstrap script. ## Fastest setup ```bash git clone https://git.sailorpunisher.com/sailor/nvim-config.git ~/nvim-config sh ~/nvim-config/bootstrap.sh nvim ``` `bootstrap.sh` installs the dependencies for your distro, then installs the config. If you already have the repo cloned and only want to refresh the config: ```bash sh ~/.config/nvim/install.sh ``` ## What gets installed - `git` - `neovim` - `nodejs` + `npm` (for Mason / `bashls` / TypeScript / JSON / YAML LSPs) - `ripgrep` - `fd` ## Debian / Ubuntu ```bash sudo apt update sudo apt install -y git neovim nodejs npm ripgrep fd-find ``` Then run: ```bash sh ~/nvim-config/bootstrap.sh ``` ## Arch Linux ```bash sudo pacman -S --needed git neovim nodejs npm ripgrep fd ``` Then run: ```bash sh ~/nvim-config/bootstrap.sh ``` ## Gentoo ```bash sudo mkdir -p /etc/portage/package.use printf '%s\n' 'net-libs/nodejs npm' | sudo tee /etc/portage/package.use/nvim-config-nodejs sudo emerge --ask dev-vcs/git app-editors/neovim net-libs/nodejs sys-apps/ripgrep ``` Then run: ```bash sh ~/nvim-config/bootstrap.sh ``` If `sys-apps/fd` is unavailable or its distfile is broken, the bootstrap script will try `cargo install fd-find` and place `fd` in `/usr/local/bin`. ## Notes - First run downloads plugins through `lazy.nvim`. - The config lives in `~/.config/nvim`. - Out of the box it covers C, C++, Rust, Bash, Lua, JSON, YAML, Markdown, JavaScript, TypeScript, and GLSL. - Shader extensions like `.vert`, `.frag`, `.comp`, `.geom`, `.rgen`, `.rchit`, `.rmiss`, `.rint`, and `.rcall` are treated as GLSL. - `nodejs`/`npm` are required so Mason can install the JS/TS/YAML/JSON tooling. - On Gentoo, `fd` is installed by Portage if possible; otherwise the bootstrap script falls back to `cargo install fd-find`.