Foxnvim
My personal neovim configuration for fox coders with IDE features included for FullStack development in many languages.
Native support for Kitty terminal, arch-linux (omarchy & ryoku)
arch-omarchy-automatic-theme.mp4
This is intended for my own usage, but wanted to share as a public repo in case someone founds this config useful. You can fork-it, clone it, break it, do as you please. Expect to found highly opinionated keybinds, custom plugins and more. For fox coders! π¦
This is for fullstack coding and AI friendly. From react/typescript/next.js to backends in PHP/Laravel, C# ASP.NET or Golang proyects.
- Project environments with isolated buffers, layouts, LSPs, and terminal pools.
- Nine persistent integrated terminals, task output slots, dev-server control, and launch profiles.
- LSP, formatting, completion, Tree-sitter, DAP, language bundles, and a minimal fresh-install toolchain.
- File and project navigation, Git Center, conflict resolution, secondary Git accounts, and diff tools.
- Command Palette, dashboard, interactive wiki, offline documentation, snippets, templates, and VS Code settings support.
- Persistent breakpoints, workspace sessions, TODO sidebar, Tailwind organization, type injection, image previews, and Omarchy palette sync.
Open the Command Palette with <C-S-p> or :CommandPalette to discover actions. The documentation index links to the full feature guides.
language-bundles-installer.mp4
powershell-friendly.mp4
π¦ Neovim Version: Currently running on NVIM v0.12.4 (requires Neovim >= 0.10).
| Environment | FoxVim support |
|---|---|
| Windows | Native PowerShell or Git Bash setup, Windows paths, and Windows Terminal keybinding setup. |
| WSL | Discovers installed distros; browses \\wsl.localhost / \\wsl$ projects; opens integrated terminals in the matching distro and directory. |
| Ubuntu / Debian Linux | apt setup path, native Linux tooling, and ordinary terminal workflow. |
| Arch Linux | pacman setup path. |
| Arch + Omarchy | Detects Omarchy and can synchronize the active Omarchy color palette with FoxVim using :FoxOmarchySyncToggle. |
| Termux β Ubuntu PRoot | Detects the layered Android environment, applies mobile performance settings, and retains terminal-safe key aliases. Native Termux is supported too. |
| macOS, Fedora, Alpine | brew, dnf, and apk setup paths are included. |
The shell-keybinding setup supports Windows Terminal, Kitty, Foot, WezTerm, Alacritty, Ghostty, and Termux. Inside Neovim, each environment has nine independent terminals; a WSL filesystem path automatically selects a WSL shell. See installation, terminals, and environments.
FoxVim has 48 hand-crafted local plugins in lua/plugins/fox/ and 48 pinned external plugins in lazy-lock.json. Local modules are part of this repository; lazy.nvim installs and manages the external packages on first launch.
| Area | Modules |
|---|---|
| Developer workflow | Bun DAP, DAP Breakpoints, Dev Server, FoxNvim Completion, Launch Completion, Launch Profiles, Sneak Peek, Tasks, Terminal |
| Editing | Buffer Cleaner, Caps Lock, Folding, Hover Links, Line Endings, Neo-tree Hidden Files, Neo-tree Mover, Smart Check, Tailwind Organizer |
| Git | Conflict Resolver, Diff Mode, Git Accounts, Git Center, Secondary Git |
| Tools | Command Palette, .NET Creator, Environments, File Explorer, Installer, LSP References, Notes, NuGet Manager, PHP Tools, TODO Sidebar, Type Injector, Lua Type Injector, TypeScript Type Injector, Usages Picker, Workspaces, WSL Bridge |
| UI | Colorscheme Preview, Font, Help Modal, Input Modal, Omarchy Theme Sync, Pinned Tabs, Statusline Picker, Theme Picker, Wiki Modal |
| Area | Packages pinned in lazy-lock.json |
|---|---|
| UI and themes | alpha-nvim, bufferline.nvim, doki-theme-vim, lualine.nvim, mini.icons, nvim-highlight-colors, nvim-notify, nvim-web-devicons, render-markdown.nvim |
| Navigation and Git | diffview.nvim, git-blame.nvim, gitsigns.nvim, neo-tree.nvim, neogit, nui.nvim, nvim-file-operations, nvim-lsp-file-operations, nvim-window-picker, package-info.nvim, plenary.nvim, project.nvim, snacks.nvim, telescope-file-browser.nvim, telescope.nvim |
| LSP and editing | blink.cmp, conform.nvim, friendly-snippets, mason-conform.nvim, mason-lspconfig.nvim, mason-nvim-dap.nvim, mason.nvim, nvim-lspconfig, nvim-treesitter, nvim-ts-autotag, schemastore.nvim, symbol-usage.nvim |
| Debugging | baleia.nvim, nvim-dap, nvim-dap-go, nvim-dap-ui, nvim-dap-virtual-text, nvim-nio |
| Language and extras | blade-nav.nvim, cord.nvim, lazy.nvim, markdown-preview.nvim, nvim-autopairs, vim-blade |
For loading mode, dependencies, and source locations, see PLUGINS-LIST.md.
The start screen. One letter per entry:
| Key | Opens |
|---|---|
f |
File Explorer (Desktop) |
p |
Recent projects |
l |
File Explorer (WSL) β Windows only, shown when WSL is installed |
w |
Wiki / documentation (:NvimWiki) |
e |
Plugins & extensions (:Lazy) |
m |
LSPs & languages (:Mason) |
q |
Quit |
Return to the dashboard from anywhere with <leader>wm; closing the last open buffer also lands here.
After cloning into %LOCALAPPDATA%\nvim (Windows) or ~/.config/nvim (Linux, WSL, Termux, or macOS):
- Windows (PowerShell):
powershell -ExecutionPolicy Bypass -File .\scripts\dependencies\install.ps1 - Linux / WSL / Termux / Git Bash:
./scripts/dependencies/install.sh
Everything else β install, keybinds, debugging, launch profiles, custom modules β lives in the wiki:
- Documentation Center Modal: Press
<C-S-d>(or run:FoxWiki/:NvimWiki) from anywhere to open the interactive Wiki Reader. - β‘οΈ docs/index.md (Full Wiki Index)
- β‘οΈ docs/how-to-customize-editor.md (Complete How-To & Customization Guide with Examples)
Start here if you are reading the code:
| Page | What it answers |
|---|---|
| π How-To & Customization Guide | Step-by-step guide for adding plugins, local modules, languages, themes, and terminals |
| ποΈ Architecture | The layers, what may depend on what, startup order, where new code goes |
| π§© Module Architecture | How a file in lua/plugins/fox/ is both a module and a lazy.nvim spec |
| π Creating Local Plugins | Building custom features in lua/plugins/fox/ using the dual spec-module metatable |
| π§ͺ Testing | Running the suite and writing a spec |
nvim -l tests/syntax_check.lua # every Lua file still parses
nvim -l tests/run.lua # unit specs (fast, no plugins)
nvim --headless -S tests/integration/run.lua # with the real editor loadedInside the editor: :FoxTest (optionally :FoxTest git to filter by spec name).
You can run project scripts (test suite, syntax checks, setup dependencies, etc.) using the master Lua CLI:
# Launch interactive CLI menu
nvim --headless -l run_me.lua
# Run options directly via flags
nvim --headless -l run_me.lua -- --syntax
nvim --headless -l run_me.lua -- --tests
nvim --headless -l run_me.lua -- --setup
nvim --headless -l run_me.lua -- --help