Flume is a Neovim colorscheme with four carefully tuned appearances and matching themes for ten terminal and developer tools. It favors neutral identifiers, semantic color, soft surfaces, and enough contrast for long sessions.
| Palette | Appearance | Character |
|---|---|---|
| Dusk | Dark | Original quiet violet Flume |
| Opal | Light | Vivid inks on cool opalescent paper |
| Mira | Dark | Technical plum with cyan, teal, and magenta |
| Mesa | Light | Warm rose-mineral paper |
Flume takes its visual direction from Jonathan Zawada's artwork for Flume: organic forms meeting synthetic surfaces, spectral color, and digital interruption. See the color contract and generated palette manifest.
Requires Neovim 0.9+ and true-color support.
{
"mitander/flume.nvim",
lazy = false,
priority = 1000,
config = function()
vim.opt.termguicolors = true
require("flume").setup({ schema = "dusk" })
end,
}
setup() configures and applies Flume once. Do not follow it with another
:colorscheme call.
If no Lua options are needed, use a colorscheme entry point instead:
colorscheme flume-dusk
" Also available: flume-opal, flume-mira, flume-mesa
require("flume").setup({
schema = "dusk", -- dusk, opal, mira, or mesa
transparent = false,
terminal_colors = true,
overrides = {},
highlights = {},
styles = {
comments = {},
functions = {},
keywords = {},
strings = {},
types = {},
variables = {},
},
})
Flume does not install an OS watcher. Select a light or dark palette from your existing appearance hook:
require("flume").setup({
schema = vim.o.background == "light" and "opal" or "dusk",
})
require("flume").setup({
schema = "opal",
overrides = {
syntax_comment = "#7a747a",
accent = "#5f9cab",
},
styles = { comments = { italic = true } },
highlights = {
CursorLineNr = { fg = "#ffffff", bold = true },
},
})
Use :Inspect or :highlight GroupName to identify an exact highlight group.
Runtime saturation transforms are intentionally excluded: exact overrides keep
Neovim and external integrations predictable.
Every palette has a committed artifact for each supported tool. Dusk examples:
| App | Artifact |
|---|---|
| Ghostty | extras/ghostty/flume-dusk |
| Kitty | extras/kitty/flume-dusk.conf |
| Tmux | extras/tmux/colors-dusk.conf |
| LSD | extras/lsd/colors-dusk.yaml |
| OpenCode | extras/opencode/flume-dusk.json |
| Lazygit | extras/lazygit/flume-dusk.yml |
| fzf | extras/fzf/flume-dusk.opts |
| Delta | extras/delta/flume-dusk.gitconfig |
| Pi | extras/pi/flume-dusk.json |
| Tuxedo | extras/tuxedo/flume-dusk.toml |
Switch the editor and active external set together:
:FlumeSync mira
Flume can safely install active links for Ghostty, Kitty, OpenCode, Tmux, and LSD:
:FlumeInstallExtras
The remaining tools have user-specific include locations, so Flume provides
canonical artifacts without guessing destinations. Add the listed artifact
through that tool's own theme or include mechanism. :FlumeExtras prints
refusal-safe link instructions only for the five tools with standard paths.
| Command | Action |
|---|---|
:FlumeReload |
Reload the editor-local palette |
:FlumeCompile |
Regenerate all forty integration artifacts |
:FlumeSync [schema] |
Apply a palette and activate its integration set |
:FlumeInstallExtras [app] |
Link integrations with safe standard destinations |
:FlumeExtras |
Show safe-path link instructions for the installable five |
:checkhealth flume |
Check the selected palette and generated files |
:help flume |
Open the reference manual |
./scripts/check
nvim --headless --clean -c "lua dofile('scripts/generate-palette-manifest.lua')"
./scripts/screenshot-window.sh dusk
./scripts/screenshot-window.sh opal
./scripts/screenshot-window.sh mira
./scripts/screenshot-window.sh mesa
python3 scripts/preflight-screenshots.py
python3 scripts/compose_showcase.py
The deterministic marketing fixture renders valid Zig with representative syntax and comments, without diagnostics, notifications, Git state, or a language server. Format contracts and native contact sheets cover integration and state-heavy surfaces separately. See showcase production for canonical captures and the contact-sheet production recipe.
background.png is available at its original 1376×768
resolution.
MIT. See LICENSE.