An earthy, accessible color theme inspired by the quiet warmth of greige — beige, sage, and stone tones grounded in natural materials. Dark and light variants for editors, terminals, and the web.
All foreground/background pairings meet WCAG 2.1 AA (4.5:1 minimum). Many exceed AAA (7:1).
Semantic tokens for surfaces, text, feedback, and interactive elements.
Code highlighting tokens for editors and rendered code blocks.
| Token | Color | Hex |
|---|---|---|
| Keyword | #8fac98 |
|
| Function | #a3bfac |
|
| String | #c9a86c |
|
| Number | #7eb8c9 |
|
| Type | #8fb8ad |
|
| Comment | #9e9b93 |
|
| Tag | #cc8585 |
|
| Regex | #a9ad78 |
|
| Escape | #c9956c |
| Token | Color | Hex |
|---|---|---|
| Keyword | #506e58 |
|
| Function | #425f4a |
|
| String | #7d6325 |
|
| Number | #3a6f80 |
|
| Type | #3e6b5d |
|
| Comment | #6b6762 |
|
| Tag | #a54d4d |
|
| Regex | #5c6135 |
|
| Escape | #8a5c30 |
Grab the file for your tool and follow the install instructions below.
| Editor | Dark | Light |
|---|---|---|
| VS Code | liminal-salt-dark.json | liminal-salt-light.json |
| Zed | liminal-salt.json (both variants) | |
| Neovim | Lua plugin (dark + light) | |
| JetBrains | Liminal Salt Dark.icls | Liminal Salt Light.icls |
| Terminal | Dark | Light |
|---|---|---|
| Alacritty | liminal-salt-dark.toml | liminal-salt-light.toml |
| Ghostty | liminal-salt-dark | liminal-salt-light |
| iTerm2 | Liminal Salt Dark.itermcolors | Liminal Salt Light.itermcolors |
| WezTerm | Liminal Salt Dark.toml | Liminal Salt Light.toml |
| Tool | Dark | Light |
|---|---|---|
| tmux | liminal-salt-dark.conf | liminal-salt-light.conf |
VS Code — Copy the JSON into .vscode/extensions/ or use the theme file with a custom extension.
Zed — Copy liminal-salt.json to ~/.config/zed/themes/ and select from the theme picker.
Neovim — The dist/vim/ directory is a full Lua colorscheme plugin with treesitter, LSP, gitsigns, snacks.nvim, and lualine support.
Install with your plugin manager by pointing it at this repo's dist/vim/ path, or copy the contents into your Neovim config:
dist/vim/
├── colors/
│ ├── liminal-salt-dark.lua # :colorscheme liminal-salt-dark
│ └── liminal-salt-light.lua # :colorscheme liminal-salt-light
├── lua/liminal-salt/ # core plugin modules
│ ├── init.lua # orchestrator
│ ├── palette.lua # canonical color primitives
│ ├── editor.lua # editor UI highlights
│ ├── syntax.lua # vim syntax highlights
│ ├── treesitter.lua # treesitter captures
│ ├── lsp.lua # LSP & diagnostics
│ ├── terminal.lua # terminal colors
│ └── plugins/
│ ├── gitsigns.lua # gitsigns.nvim
│ └── snacks.lua # snacks.nvim
└── lua/lualine/themes/
├── liminal-salt-dark.lua # lualine statusline theme
└── liminal-salt-light.lua
With lazy.nvim, set the colorscheme in your plugin spec:
{
"irvj/liminal-salt",
lazy = false,
priority = 1000,
config = function()
vim.cmd("colorscheme liminal-salt-dark")
end,
}For a local install, copy dist/vim/colors/ and dist/vim/lua/ into ~/.config/nvim/.
JetBrains — Copy the .icls file to ~/Library/Application Support/JetBrains/<product>/colors/ and select in Settings → Editor → Color Scheme.
Alacritty — Import the TOML file in your alacritty.toml config.
Ghostty — Copy to your Ghostty config directory and reference by name.
iTerm2 — Import via Profiles → Colors → Color Presets → Import.
WezTerm — Copy the TOML file to ~/.config/wezterm/colors/ and set config.color_scheme = "Liminal Salt Dark".
tmux — Add source-file /path/to/liminal-salt-dark.conf to your tmux.conf.
All theme files are generated from a single source of truth (src/theme.js).
npm run build # build all targets
npm run build:vscode # build just oneMIT