Skip to main content
Lua

vulpes.nvim

A cyberpunk neon colorscheme for Neovim

Files
24
Size
64.2 KB
Langs
4
Created
Jan 1, 2026
Last push
9 months ago
README.md

vulpes.nvim

A cyberpunk neon single-color(ish) scheme for Neovim (and many other TUIs) that tries to find a balance between vibes and utility.

screenshot 2025-12-24 at 3 28 57 PM screenshot 2025-12-22 at 11 30 20 PM

Includes

Neovim         Terminals       TUI Apps        Bonus
──────         ─────────       ────────        ─────
◆ 100+ hlgroups   ◆ Ghostty       ◆ tmux          ◆ MapLibre
◆ Treesitter      ◆ Kitty         ◆ lazygit       ◆ GLSL shaders
◆ LSP             ◆ Alacritty     ◆ Yazi
◆ Lualine         ◆ WezTerm       ◆ fzf
◆ 15+ plugins                     ◆ bat

Requirements

  • Neovim 0.8+
  • termguicolors enabled
  • True color terminal

Install

-- lazy.nvim
{
  "ejfox/vulpes.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    vim.cmd.colorscheme("vulpes")
  end,
}
-- packer
use { "ejfox/vulpes.nvim" }
" vim-plug
Plug 'ejfox/vulpes.nvim'
colorscheme vulpes

Config

require("vulpes").setup({
  transparent = false,
  italic_comments = true,
  italic_keywords = false,
  bold_functions = false,
  cursor_color = "base",  -- "base" (pink) or "white"
  undercurl = true,
  terminal_colors = true,
})

vim.cmd.colorscheme("vulpes")

Or via vim.g:

vim.g.vulpes_transparent = true
vim.cmd.colorscheme("vulpes")
OptionDefault
transparentfalsetransparent bg
italic_commentstrue
italic_keywordsfalse
bold_functionsfalse
cursor_color"base""base" or "white"
undercurltruespelling errors
terminal_colorstrueANSI colors in :terminal

Lualine

require("lualine").setup({
  options = { theme = "vulpes" },
})

Extras

All in extras/:

Terminals

FileInstall
Ghosttyvulpes-ghostty.confcp extras/vulpes-ghostty.conf ~/.config/ghostty/themes/vulpes
Kittyvulpes-kitty.confinclude themes/vulpes.conf in kitty.conf
Alacrittyvulpes-alacritty.tomlimport in alacritty.toml
WezTermvulpes-wezterm.luacp extras/vulpes-wezterm.lua ~/.config/wezterm/colors/

TUIs

FileInstall
tmuxvulpes.tmuxsource-file ~/.config/tmux/vulpes.tmux
Yazivulpes-yazi.tomlcp extras/vulpes-yazi.toml ~/.config/yazi/theme.toml
lazygitvulpes-lazygit.ymlmerge into ~/.config/lazygit/config.yml
fzfvulpes-fzf.shsource in shell rc
batvulpes-bat.tmThemecopy to bat themes, bat cache --build

Ghostty Shaders

FileNotes
TFTshaders/vulpes-tft.glslsubtle LCD subpixel effect
Chromaticshaders/vulpes-chromatic.glslCRT chromatic aberration (dark mode only)

Install: cp extras/shaders/*.glsl ~/.config/ghostty/shaders/ Config: custom-shader = ~/.config/ghostty/shaders/vulpes-tft.glsl

Bonus

FileNotes
MapLibrevulpes-maplibre.jsoncyberpunk map style, replace {key} with Maptiler API key

Palette

Dark

Hex
bg#000000
fg#f2cfdf
base#e60067accent pink
comment#6eedf7teal
keyword#ff1aca
string#f5f5f5
func#ffffff
type#ff24ab
number#ff33c5
boolean#ff1043
variable#ff0a89
property#ff0a91
operator#f92c7a
error#a0f7fcinverted teal
warning#ffaa00

ANSI

NormalBright
black #0d0d0d #735865
red #ff001e #ff2e2e
green #ffffff #ffffff
yellow #ffaa00 #ffcc00
blue #ff0095 #ff2daf
magenta #ff24ab #ff40c7
cyan #6eedf7 #a0f7fc
white #f2cfdf #ffffff

Plugins

Highlight groups for: Telescope, Snacks.nvim, nvim-cmp, GitSigns, Which-key, BufferLine, Neo-tree, Lazy.nvim, Mason, Noice, nvim-notify

API

local palette = require("vulpes.palette")
local colors = palette.get()     -- current variant
local dark = palette.dark        -- dark palette
local light = palette.light      -- light palette

License

MIT