Skip to content
KristanLaimonPublic

About

My hand-crafted neovim config for my day-by-day coding workflow. 🦊

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

foxnvim-logo
Foxnvim
My personal neovim configuration for fox coders with IDE features included for FullStack development in many languages.

GitHub Stars

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.

Main Features

Untitled-2026-09-13-2242

Other features

  • 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

Environment and terminal compatibility

🦊 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.

Plugin inventory

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.

Hand-crafted FoxVim plugins

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

External plugins

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.


πŸ–₯️ Dashboard shortcuts

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.


⚑ Quick Setup

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

πŸ“š Documentation & Help

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

πŸ§ͺ Tests

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 loaded

Inside the editor: :FoxTest (optionally :FoxTest git to filter by spec name).


🦊 Master CLI Runner (run_me.lua)

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

About

My hand-crafted neovim config for my day-by-day coding workflow. 🦊

Resources

Stars

3 stars

Watchers

0 watching

Forks

Contributors

Languages