Skip to content

Instantly share code, notes, and snippets.

@last-partizan
Created November 6, 2025 08:57
Show Gist options
  • Select an option

  • Save last-partizan/949bc90c99722e4f95c4e5d92f7395d4 to your computer and use it in GitHub Desktop.

Select an option

Save last-partizan/949bc90c99722e4f95c4e5d92f7395d4 to your computer and use it in GitHub Desktop.
Nightfox Theme with custom Wombat-inspired colors
-- vim: set fdm=marker:
local theme = os.getenv("NVIM_THEME") or "fox"
return {
{
"EdenEast/nightfox.nvim",
config = function()
local Shade = require("nightfox.lib.shade")
local pal = {
-- Base colors with shading (base, bright, dim)
black = Shade.new("#20232A", "#282c34", "#1a1d23"),
red = Shade.new("#e5786d", "#e86671", "#d06058"),
green = Shade.new("#95e454", "#caeb82", "#7ac83e"),
yellow = Shade.new("#ffdead", "#e5c07b", "#e5b76a"),
blue = Shade.new("#87afff", "#528bff", "#6e97e6"),
magenta = Shade.new("#c678dd", "#d282e9", "#b164c9"),
cyan = Shade.new("#56b6c2", "#6ac8d4", "#47a3ae"),
white = Shade.new("#e5e7eb", "#f0f2f4", "#d1d3d7"),
orange = Shade.new("#e59b4e", "#d19a66", "#cc8636"),
pink = Shade.new("#f55385", "#ff6b97", "#e03c6d"),
comment = "#798294",
-- Background and Foreground Colors
bg0 = "#20232A", -- Dark bg (status line and float)
bg1 = "#282c34", -- Default bg
bg2 = "#393F4A", -- Lighter bg (colorcolm folds)
bg3 = "#2c313a", -- Lighter bg (cursor line)
bg4 = "#525863", -- Conceal, border fg
fg0 = "#e5e7eb", -- Lighter fg
fg1 = "#adbac7", -- Default fg
fg2 = "#a0a8b0", -- Darker fg (status line)
fg3 = "#798294", -- Darker fg (line numbers, fold colums)
sel0 = "#393f4a", -- Popup bg, visual selection bg
sel1 = "#444c5e", -- Popup sel bg, search bg
}
local spec = {
bg0 = pal.bg0, -- Dark bg (status line and float)
bg1 = pal.bg1, -- Default bg
bg2 = pal.bg2, -- Lighter bg (colorcolm folds)
bg3 = pal.bg3, -- Lighter bg (cursor line)
bg4 = pal.bg4, -- Conceal, border fg
fg0 = pal.fg0, -- Lighter fg
fg1 = pal.fg1, -- Default fg
fg2 = pal.fg2, -- Darker fg (status line)
fg3 = pal.fg3, -- Darker fg (line numbers, fold colums)
sel0 = pal.sel0, -- Popup bg, visual selection bg
sel1 = pal.sel1, -- Popup sel bg, search bg
}
spec.syntax = {
bracket = spec.fg2, -- Brackets and Punctuation
builtin0 = pal.red.base, -- Builtin variable
builtin1 = pal.cyan.bright, -- Builtin type
builtin2 = pal.red.bright, -- Builtin const
builtin3 = pal.orange.bright, -- Not used
comment = pal.comment, -- Comment
conditional = pal.magenta.bright, -- Conditional and loop
const = pal.red.bright, -- Constants, imports and booleans
dep = spec.fg3, -- Deprecated
field = pal.fg1, -- Field
func = pal.green.bright, -- Functions and Titles
ident = pal.cyan.base, -- Identifiers
keyword = pal.blue.base, -- Keywords
number = pal.red.base, -- Numbers
operator = pal.cyan.base, -- Operators
preproc = pal.pink.bright, -- PreProc
regex = pal.yellow.bright, -- Regex
statement = pal.blue.base, -- Statements
string = pal.green.base, -- Strings
type = pal.yellow.base, -- Types
variable = pal.white.base, -- Variables
}
require("nightfox").setup({
palettes = { nordfox = pal },
specs = { nordfox = spec },
groups = {
all = {
-- UI
Normal = { bg = pal.bg0 },
LineNr = { bg = pal.bg1 },
-- Treesitter
["@module"] = { fg = pal.fg0 },
["@variable.parameter"] = { fg = pal.fg1 },
["@variable.member"] = { fg = pal.green.bright },
["@variable.builtin"] = { fg = pal.yellow.base },
["@keyword.return"] = { link = "keyword" },
["@tag.attribute"] = { style = "NONE" },
-- BarBar
BufferCurrent = { bg = spec.bg0 },
BufferCurrentIndex = { bg = spec.bg0 },
BufferCurrentMod = { bg = spec.bg0 },
BufferCurrentSign = { bg = spec.bg0 },
BufferCurrentTarget = { bg = spec.bg0 },
BufferVisible = { bg = spec.bg1 },
BufferVisibleIndex = { bg = spec.bg1 },
BufferVisibleMod = { bg = spec.bg1 },
BufferVisibleSign = { bg = spec.bg1 },
BufferVisibleTarget = { bg = spec.bg1 },
BufferInactive = { bg = spec.bg1 },
BufferInactiveIndex = { bg = spec.bg1 },
BufferInactiveMod = { bg = spec.bg1 },
BufferInactiveSign = { bg = spec.bg1 },
BufferInactiveTarget = { bg = spec.bg1 },
BufferTabpages = { bg = spec.bg1 },
BufferTabpage = { bg = spec.bg1 },
BufferTabpageFill = { bg = spec.bg1 },
},
},
modules = {
barbar = false,
}
})
vim.cmd("colorscheme nordfox")
end,
cond = theme == "fox",
},
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment