zimablue.nvim

July 31, 2026 · View on GitHub

zimablue.nvim

A dark Neovim colorscheme inspired by the iconic color from the Love, Death & Robots episode — Zima Blue.

The exact hex code for Zima Blue is #5BC2E7 (PANTONE 2985 C).

Zimablue
Zimablue Pool
Zimablue Storm
Zimablue Sunset
Zimablue Volcano

Inspiration

In the episode Zima Blue, the mysterious artist Zima reveals his origin as a small pool-cleaning robot, and the blue tile that defined his existence becomes the symbol of his journey — from simple function to cosmic art, and back again.

This colorscheme captures that atmosphere: a deep, dark void of space punctuated by that unmistakable cyan-blue glow. Not harsh, not clinical — just a calm, focused coding environment with the Zima Blue as its soul.

Features

  • 5 scene-inspired variants — from deep space to volcanic eruptions
  • Full Treesitter support (@keyword, @function, @string, etc.)
  • LSP semantic token highlighting (@lsp.type.*, @lsp.mod.*)
  • Plugin support: Telescope, WhichKey, Neo-tree/NvimTree, Gitsigns, Lazy, Noice, DAP, Blink/Cmp, and more
  • Terminal ANSI 16-color support (per variant)
  • Generated CUI/TUI/terminal themes for 34 tools
  • Vim help docs via :help zimablue.nvim
  • Configurable transparent background, dim inactive windows, italics, bold, and style overrides
  • on_colors and on_highlights callbacks for complete customization

Variants

Each variant is a distinct color palette inspired by a scene from the episode. Use them directly via :colorscheme — no setup required.

ColorschemeSceneVibe
zimablueDeep space (default)Dark blue-black void, classic Zima Blue
zimablue-sunsetGolden horizonWarm orange-gold tones against dusk
zimablue-poolThe tiled swimming poolTeal water, pale ceramic reflections
zimablue-volcanoVolcanic eruptionLava reds, molten oranges, black rock
zimablue-stormAbyssal ocean depthsMoody teals, deep grays, foam white
vim.cmd.colorscheme("zimablue-sunset")

Palette

Zima Blue Core

ColorHexDescription
#5BC2E7#5BC2E7Zima Blue (PANTONE 2985 C) — primary accent
#16B8F3#16B8F3Zima Blue Light — special methods, headings
#28C5F4#28C5F4Zima Blue Bold — operators, active selection

Backgrounds

ColorHexDescription
#0A0F1A#0A0F1ADeep space blue-black — main editor background
#111827#111827Sidebars, panels, float windows
#182340#182340Cursor line, hover, selection backgrounds
#1E3555#1E3555Search matches, visual selection
#0D1423#0D1423Line comment background

Foregrounds

ColorHexDescription
#D4D6E0#D4D6E0Primary text
#8B92A8#8B92A8Secondary / dim text
#565E78#565E78Inactive / placeholder text

Comments

ColorHexDescription
#5A6380#5A6380Muted blue-gray comments

UI Elements

ColorHexDescription
#2E3852#2E3852Non-text characters, line numbers, folds
#1E2740#1E2740Split borders, float borders

Syntax Colors

ColorHexDescription
#61AFEF#61AFEFBlue — keywords, control flow, types
#56B6C2#56B6C2Cyan — support types, special characters
#98C379#98C379Green — strings, additions, success
#E5C07B#E5C07BYellow — numbers, modifications, warnings
#D19A66#D19A66Orange — debug, log levels, danger
#E06C75#E06C75Red — errors, deletions, diffs
#C678DD#C678DDPurple — preprocessor, special keywords

Scene-Inspired Accents

ColorHexDescription
#4A90D9#4A90D9Nebula Blue — secondary UI elements
#7C5FBF#7C5FBFNebula Purple — space keywords
#FF8C42#FF8C42Sunset Orange — warm warnings
#FF5370#FF5370Lava Red — bright errors
#5FD7A0#5FD7A0Aurora Green — success / UI
#2E3440#2E3440Volcanic Gray — UI alternative
#ECEFF4#ECEFF4Star White — bright foreground emphasis

Installation

lazy.nvim

{ "tan-wei/zimablue.nvim", lazy = true }

Then add the colorscheme to your theme selector or set it directly:

vim.cmd.colorscheme("zimablue")

Configuration

Basic

require("zimablue").setup({
  transparent = false,    -- Enable transparent background
  terminal_colors = true, -- Enable terminal ANSI colors
  dim_inactive = false,   -- Dim inactive windows
  italic      = true,     -- Enable italics for comments
  bold        = true,     -- Enable bold for some keywords
})

vim.cmd.colorscheme("zimablue")

Variant via setup

You can also set the variant from your config using the variant option:

require("zimablue").setup({
  variant = "sunset",
  transparent = false,
})

vim.cmd.colorscheme("zimablue")

Style Overrides

Fine-tune syntax group styles (italic, bold, underline, etc.):

require("zimablue").setup({
  styles = {
    comments  = { italic = true },
    keywords  = { italic = true },
    functions = { bold = true },
    variables = {},
  },
})

Callbacks

Fully customize any color or highlight group:

require("zimablue").setup({
  on_colors = function(colors)
    -- Override any color in the palette
    colors.zima_blue = "#16B8F3"
    colors.line_nr_above = "#5C89B8"
    colors.line_nr_below = "#8A7258"
  end,
  on_highlights = function(highlights, colors)
    -- Set or override any highlight group
    highlights.Normal = { fg = colors.fg, bg = colors.bg }
  end,
})

Supported Plugins

zimablue.nvim includes highlight groups for common editor, LSP, completion, Git, testing, Markdown, AI completion, terminal UI, and navigation plugins.

CategoryPlugins
Completionblink.cmp, nvim-cmp, Codeium, Copilot, Supermaven
File trees and navigationNeo-tree, NvimTree, Aerial, Navic, Telescope, FzfLua, Snacks picker, MiniPick
GitGitsigns, vim-gitgutter, Neogit, Octo, Diffview-style groups
Diagnostics and LSP UIALE, Trouble, Noice, Notify, Lspsaga, Illuminate
Debug and testnvim-dap, Dap UI, Neotest, Overseer
Statusline and bufferslualine, bufferline.nvim, barbar.nvim, mini.statusline
Startup and dashboardalpha-nvim, dashboard-nvim, snacks.nvim dashboard, mini.starter
Motion and searchFlash, Hop, Leap, Sneak, GrugFar
Indent and contextindent-blankline.nvim, indentmini.nvim, mini.indentscope, Treesitter Context
Markdown and writingrender-markdown.nvim, headlines.nvim, Vimwiki
UI helpersWhichKey, Lazy.nvim, Scrollbar, Rainbow Delimiters, glyph-palette.nvim, Yanky
TerminalToggleTerm
Mini.nvim modulesanimate, clue, completion, cursorword, deps, diff, files, hipatterns, icons, jump, jump2d, map, notify, pick, starter, statusline, surround, tabline, test, trailspace
MiscSidekick, SnipRun

Extras

Generated themes are available under extras/ for each variant: zimablue, zimablue-sunset, zimablue-pool, zimablue-volcano, and zimablue-storm.

ToolPath
Aercextras/aerc/
Aiderextras/aider/
Alacrittyextras/alacritty/
Btopextras/btop/
Deltaextras/delta/
ezaextras/eza/
Fishextras/fish/
Fish themesextras/fish_themes/
Footextras/foot/
Fzfextras/fzf/
Ghosttyextras/ghostty/
GitUIextras/gitui/
GNOME Terminalextras/gnome_terminal/
Helixextras/helix/
iSHextras/ish/
Kittyextras/kitty/
Konsoleextras/konsole/
Lazygitextras/lazygit/
process-composeextras/process_compose/
QTerminalextras/qterminal/
stextras/st/
Spotify Playerextras/spotify_player/
Terminatorextras/terminator/
Termuxextras/termux/
Tilixextras/tilix/
Tmuxextras/tmux/
Vimextras/vim/
WezTermextras/wezterm/
Windows Terminalextras/windows_terminal/
Xfce Terminalextras/xfceterm/
Xresourcesextras/xresources/
Yaziextras/yazi/
Zathuraextras/zathura/
Zellijextras/zellij/

Regenerate extras after changing palette values:

nvim --headless -u NONE -l scripts/generate_extras.lua

Development

Run the spec suite:

nvim --headless -u NONE -l tests/minit.lua

Run the smoke test:

nvim --headless -u NONE -l tests/smoke.lua

Check generated extras:

nvim --headless -u NONE -l scripts/generate_extras.lua --check

Check help docs:

nvim --headless -u NONE --cmd 'set rtp+=.' --cmd 'helptags doc' --cmd 'qa!'

License

MIT

TODO

  • Screenshots — Add side-by-side screenshots of each variant (default, sunset, pool, volcano, storm) showing syntax highlighting in common languages
  • Generated extras — Add palette-driven themes for terminal and CUI/TUI tools
  • Tests and CI — Add specs, smoke tests, generated extras checks, and help docs checks
  • More plugin support — Add highlight groups for community-requested plugins as requests come in

Credits

  • Inspired by the Love, Death & Robots episode Zima Blue
  • Architecture inspired by tokyonight.nvim