Native vim.pack Neovim Distribution - No Plugin Manager Required
A modern Neovim distribution built on native vim.pack architecture with modern vim.lsp.config API.
Website: https://velocitynvim.com
- Native vim.pack - No external plugin manager, pure Git operations
- Eager Loading - All plugins load at startup, no mid-workflow interruptions
- Modern LSP - vim.lsp.config API with global configuration pattern
- Rust-Powered - Optimized tools (fzf, ripgrep, fd, blink.cmp)
- Optional Packages - Choose LaTeX, Typst, or Strudel support during installation
- Neovim >= 0.11.0
- Git
- GCC/Clang (for Treesitter parser compilation)
- NerdFont (recommended: MesloLGS NF)
One-liner to install all dependencies for the complete VelocityNvim experience:
# Arch Linux - Full Installation
sudo pacman -S --needed neovim git gcc base-devel fzf ripgrep fd bat git-delta rust nodejs npm lua-language-server pyright rust-analyzer stylua shfmt && npm install -g prettier typescript typescript-language-server vscode-langservers-extracted
# macOS - Full Installation
brew install neovim git fzf ripgrep fd bat git-delta rust node lua-language-server pyright rust-analyzer stylua shfmt && npm install -g prettier typescript typescript-language-server vscode-langservers-extractedFor a lightweight setup with core functionality:
# Arch Linux - Minimal
sudo pacman -S --needed neovim git gcc fzf ripgrep fd
# macOS - Minimal
brew install neovim git fzf ripgrep fd| Category | Packages | Purpose |
|---|---|---|
| Core | neovim, git, gcc |
Editor, version control, Treesitter compilation |
| Search | fzf, ripgrep, fd |
Fuzzy finding, fast grep, file discovery |
| Git | bat, git-delta |
Syntax-highlighted previews, better diffs |
| Rust | rust |
blink.cmp performance binary |
| LSP | lua-language-server, pyright, rust-analyzer |
Language servers |
| Web LSP | vscode-langservers-extracted, typescript-language-server |
HTML/CSS/JSON/TS support |
| Formatters | stylua, shfmt, prettier |
Code formatting |
# Arch Linux
sudo pacman -S --needed texlab texlive-basic texlive-binextra latexmk
# macOS
brew install texlab && brew install --cask mactex# Arch Linux
sudo pacman -S --needed typst tinymist
# macOS
brew install typst && cargo install tinymist# Requires Node.js (included in full installation)
# Browser: chromium, brave, or firefox
sudo pacman -S --needed chromium # or: brave-bin (AUR)# Backup existing config
[ -d ~/.config/nvim ] && mv ~/.config/nvim ~/.config/nvim.backup
# Clone VelocityNvim
git clone https://github.com/Maik-0000FF/VelocityNvim.git ~/.config/nvim
# Launch - First-Run Installer starts automatically
nvim# Clone to separate directory
git clone https://github.com/Maik-0000FF/VelocityNvim.git ~/.config/VelocityNvim
# Launch - First-Run Installer starts automatically
NVIM_APPNAME=VelocityNvim nvim
# Optional: Add alias to ~/.bashrc or ~/.zshrc
alias velocity="NVIM_APPNAME=VelocityNvim nvim"On first launch, VelocityNvim automatically starts a terminal-based installer that guides you through the setup:
Phase 1: System Detection
- Detects OS, package manager, and installed tools
- Checks for C compiler, Rust, Node.js, and LSP servers
Phase 2: Package Selection
- [1] Core Installation - Basic editor with LSP, completion, file explorer, git
- [2] Extended Installation - Core + LaTeX, Typst, Strudel (live coding music)
- [3] Custom Selection - Choose individual optional packages
Phase 3: Plugin Installation
- Clones all plugins via Git (27 plugins)
- Progress display with status indicators
Phase 4: Treesitter Parser Installation
- Compiles syntax parsers for 15+ languages
- Requires GCC/Clang
Phase 5: Rust Performance Build
- Builds blink.cmp fuzzy matcher for maximum completion speed
- Falls back to Lua if Rust unavailable
Phase 6: Optional Dependencies (Extended/Custom only)
- Checks for LaTeX, Typst, or Strudel dependencies
- Shows installation commands for missing tools
During first-run installation, you can choose to include:
| Package | Description | Dependencies |
|---|---|---|
| Strudel | Live Coding Music | npm, chromium/brave |
| LaTeX | Scientific Writing | texlab, latexmk |
| Typst | Modern Typesetting | tinymist, typst |
:OptionalPackagesToggle strudel
:OptionalPackagesToggle latex
:OptionalPackagesToggle typst
:PluginSync
" Restart Neovim:OptionalPackages| Command | Description |
|---|---|
:PluginSync |
Install/update all plugins |
:PluginStatus |
Show plugin installation status |
:VelocityHealth |
System health check |
:VelocityInfo |
Show version information |
:LspStatus |
LSP server status |
:NotifyHistory |
View notification history |
:SystemDeps |
Show system dependency status |
:SystemDepsInstall [profile] |
Install dependencies (minimal/standard/full) |
:SystemDepsScript [profile] |
Generate install script for clipboard |
| Key | Description |
|---|---|
<Space> |
Leader key |
| File Explorer | |
<C-n> |
Toggle Neo-tree |
<leader>e |
Focus Neo-tree |
s |
Open file in split (Neo-tree) |
| Buffers | |
<leader>j / <leader>k |
Next / Previous buffer |
<leader>cc |
Close current buffer |
<leader>w |
Save file |
| Search | |
<leader>ff |
Find files |
<leader>fg |
Live grep |
<leader>fb |
Find buffers |
| LSP | |
gd |
Go to definition |
K |
Hover documentation |
<leader>le |
Workspace diagnostics |
]d / [d |
Next / Previous diagnostic |
<leader>dl |
Show diagnostic float |
<leader>ca |
Code actions |
<leader>rn |
Rename symbol |
| Terminal | |
<Alt-i> |
Toggle floating terminal |
<leader>tf |
Toggle floating terminal |
jk |
Exit terminal mode |
| Navigation | |
<leader>hw |
Hop to word |
<leader>hl |
Hop to line |
-- 1. Add to lua/plugins/manage.lua
M.plugins["plugin-name"] = "https://github.com/author/plugin.git"
-- 2. Create config lua/plugins/category/plugin-name.lua
local ok, plugin = pcall(require, "plugin-name")
if not ok then return end
plugin.setup({})
-- 3. Load in lua/plugins/init.lua
safe_require("plugins.category.plugin-name")
-- 4. Install
:PluginSyncrm -rf ~/.config/nvim
rm -rf ~/.local/share/nvim
rm -rf ~/.local/state/nvim
rm -rf ~/.cache/nvimrm -rf ~/.config/VelocityNvim
rm -rf ~/.local/share/VelocityNvim
rm -rf ~/.local/state/VelocityNvim
rm -rf ~/.cache/VelocityNvim- Fork the repository
- Make changes
- Test with
:VelocityHealth - Submit a pull request
- GitHub Issues
- Ko-fi
- Star this repository
bc1q6gmpgfn4wx2hx2c3njgpep9tl00etma9k7w6d4
VelocityNvim is a registered trademark. See TRADEMARK.md for usage guidelines.
