GitHub - danfry1/rime: An icy, near-black dark theme for Neovim, VS Code, terminals & more (original) (raw)
An icy, near-black dark theme with periwinkle keywords and frost accents.
Built for Neovim, VS Code, Zed, terminals, tmux, and CLI tools.
Features
- Single source of truth — every color lives in
palette.json, all outputs are generated - WCAG AA contrast — validated at build time (accents land 7–11:1 on the background)
- Neovim plugin integrations — Telescope, cmp, gitsigns, mini.nvim, noice, trouble, flash, snacks, and more
- Treesitter + LSP semantic tokens — full highlighting with role-based accents
- Terminal + CLI targets — Kitty, Alacritty, WezTerm, Ghostty, iTerm2, foot, Windows Terminal, tmux, fzf, bat, delta, lazygit, OpenCode
- Editors — VS Code and Zed
- Transparent mode and configurable italics
Palette
Accents are role-based — each color maps to what it highlights.
Backgrounds (dark → light): shadow #07090f · dim #0a0d13 · base #0c1118 · surface0 #161d28 · surface1 #1f2835 · surface2 #293343 Foregrounds: text #cdd9e5 · subtext #a6b3c2 · overlay #7d8a9c · comment #5f6b7e
Installation
Neovim
lazy.nvim
{ "danfry1/rime", lazy = false, priority = 1000, config = function() require("rime").setup() vim.cmd("colorscheme rime") end, }
packer.nvim
use { "danfry1/rime", config = function() require("rime").setup() vim.cmd("colorscheme rime") end, }
Options
All options are optional — defaults work out of the box.
require("rime").setup({ transparent = false, -- set to true to use your terminal's background italics = true, -- set to false to disable italic comments/keywords palette_overrides = { foregrounds = { text = "#d4dfe9" }, -- example tweak accents = { keyword = "#b0b0dc" }, -- tweak any accent }, custom_highlights = function(colors, variant) -- colors contains: backgrounds, foregrounds, accents, ansi, special return { Normal = { bg = "#0c1118" }, MiniDiffSignAdd = { fg = colors.accents.string }, } end, })
Palette overrides are applied first — all built-in highlight groups and custom_highlights see the modified palette.
VS Code
Copy editors/vscode/themes/rime-color-theme.json into a VS Code theme extension, or open the repo folder and press F5 to launch an Extension Development Host, then pick Rime via Preferences: Color Theme.
Zed
Copy to Zed's local themes directory
cp editors/zed/themes/rime.json ~/.config/zed/themes/
Then select Rime from the theme picker.
Terminals
Generated config lives under terminals/:
| Terminal | File |
|---|---|
| Kitty | terminals/kitty/rime.conf (include it from kitty.conf) |
| Alacritty | terminals/alacritty/rime.toml (import in alacritty.toml) |
| WezTerm | terminals/wezterm/rime.toml |
| Ghostty | terminals/ghostty/rime (theme = rime) |
| iTerm2 | terminals/iterm2/rime.itermcolors (import via Preferences → Profiles → Colors) |
| foot | terminals/foot/rime.ini |
| Windows Terminal | terminals/windows-terminal/rime.json (paste into schemes) |
Tmux
~/.tmux.conf
source-file /path/to/rime/tmux/rime-theme.conf
CLI tools
- fzf —
source cli/fzf/rime.shin your~/.zshrc/~/.bashrc - bat — copy
cli/bat/rime.tmThemeinto$(bat --config-dir)/themes/, runbat cache --build, set--theme=rime - delta —
[include] path = /path/to/rime/cli/delta/rime.gitconfig, thendelta --features rime - lazygit — merge
cli/lazygit/rime.ymlinto your lazygit config - OpenCode —
cli/opencode/rime.json
Building
Rime is generated from palette.json with theme-template:
bun install bun run generate # writes all targets + validates WCAG contrast bun test # contrast + generation tests bash scripts/nvim-smoke.sh # headless Neovim load check
License
MIT
