muted storm backdrop, neon synthwave syntax. tokyo night storm + kabukicho, brewed in johannesburg.
A colorscheme born from Johannesburg after dark — the quiet blue-grey of a storm rolling over the Highveld, lit up by the electric energy of the city that never sleeps. Three variants — jozi-nights (dark), jozi-morning (light), and jozi-midnight (deepest dark) — with matching configs for every tool in your stack.
kmf.github.io/jozi-city-nights — live palette preview with nights/morning/midnight toggle.
Neutrals
| Token | Hex | |
|---|---|---|
| bg | #1b1e2e |
|
| bg_soft | #1f2335 |
|
| bg_hi | #24283b |
|
| border | #5d6898 |
|
| fg | #a9b1d6 |
|
| fg_alt | #c0caf5 |
|
| fg_muted | #868eb7 |
Accents
| Token | Hex | |
|---|---|---|
| pink | #f935b1 |
|
| purple | #c064f4 |
|
| blue | #7aa2f7 |
|
| sky | #7dcfff |
|
| cyan | #58c7e0 |
|
| teal | #73daca |
|
| mint | #b4f9f8 |
|
| green | #54e484 |
|
| yellow | #e0b401 |
|
| orange | #ff9e64 |
|
| ice | #89ddff |
ANSI
Neutral ramp
| Index | Hex | |
|---|---|---|
| 0 | #1b1e2e |
|
| 1 | #1f2335 |
|
| 2 | #24283b |
|
| 3 | #292e42 |
|
| 4 | #5d6898 |
|
| 5 | #545c7e |
|
| 6 | #868eb7 |
|
| 7 | #a9b1d6 |
|
| 8 | #c0caf5 |
UI
| Token | Hex | |
|---|---|---|
| cursor | #f935b1 |
|
| cursor_text | #1b1e2e |
|
| selection_bg | #292e42 |
|
| selection_fg | #c0caf5 |
Neutrals
| Token | Hex | |
|---|---|---|
| bg | #d5d6db |
|
| bg_soft | #c8c9d1 |
|
| bg_hi | #bfc1cc |
|
| border | #72778b |
|
| fg | #343b58 |
|
| fg_alt | #1f2335 |
|
| fg_muted | #3f4d7d |
Accents
| Token | Hex | |
|---|---|---|
| pink | #a0135b |
|
| purple | #7928a8 |
|
| blue | #3b30e2 |
|
| sky | #1d4ed8 |
|
| cyan | #145a70 |
|
| teal | #115e59 |
|
| mint | #0c657e |
|
| green | #156031 |
|
| yellow | #6a4f00 |
|
| orange | #8f3a06 |
|
| ice | #3b30e2 |
ANSI
Neutral ramp
| Index | Hex | |
|---|---|---|
| 0 | #1f2335 |
|
| 1 | #343b58 |
|
| 2 | #3f4d7d |
|
| 3 | #9699a3 |
|
| 4 | #72778b |
|
| 5 | #bfc1cc |
|
| 6 | #c8c9d1 |
|
| 7 | #d5d6db |
|
| 8 | #e1e2e7 |
UI
| Token | Hex | |
|---|---|---|
| cursor | #a0135b |
|
| cursor_text | #d5d6db |
|
| selection_bg | #bfc1cc |
|
| selection_fg | #1f2335 |
Neutrals
| Token | Hex | |
|---|---|---|
| bg | #101014 |
|
| bg_soft | #16161e |
|
| bg_hi | #1a1b26 |
|
| border | #5b5e84 |
|
| fg | #a9b1d6 |
|
| fg_alt | #c0caf5 |
|
| fg_muted | #868eb7 |
Accents — same as jozi-nights.
ANSI
Neutral ramp
| Index | Hex | |
|---|---|---|
| 0 | #101014 |
|
| 1 | #14141b |
|
| 2 | #16161e |
|
| 3 | #1a1b26 |
|
| 4 | #5b5e84 |
|
| 5 | #363b54 |
|
| 6 | #515670 |
|
| 7 | #a9b1d6 |
|
| 8 | #c0caf5 |
UI
| Token | Hex | |
|---|---|---|
| cursor | #f92aad |
|
| cursor_text | #101014 |
|
| selection_bg | #1e202e |
|
| selection_fg | #c0caf5 |
| Category | Tools |
|---|---|
| Terminals | Ghostty · Alacritty · Kitty · WezTerm · iTerm2 · foot · Windows Terminal |
| Editors | VS Code · Zed · Fresh |
| Apps | Claude Code · Obsidian |
| Desktop | COSMIC · DMS |
| Dev tools | btop · fzf · k9s · lazygit · tmux |
Per-tool steps are in INSTALL.md. Clone the repo and cherry-pick the configs you need:
git clone https://github.com/kmf/jozi-city-nights ~/.local/share/jozi-city-nights- Ghostty →
cp terminals/ghostty/jozi-nights ~/.config/ghostty/themes/jozi-nights - Alacritty →
cp terminals/alacritty/jozi-nights.toml ~/.config/alacritty/themes/ - Kitty →
cp terminals/kitty/jozi-nights.conf ~/.config/kitty/themes/ - WezTerm →
cp terminals/wezterm/jozi-nights.lua ~/.config/wezterm/colors/ - VS Code →
cp -r editors/vscode ~/.vscode/extensions/jozi-city-nights - tmux →
source-file ~/.local/share/jozi-city-nights/tools/tmux/jozi-nights.tmux - fzf →
source ~/.local/share/jozi-city-nights/tools/fzf/jozi-nights.sh - btop →
cp tools/btop/jozi-nights.theme ~/.config/btop/themes/ - k9s →
cp tools/k9s/jozi-nights.yaml ~/.config/k9s/skins/ - Zed →
cp editors/zed/jozi-city-nights.json ~/.config/zed/themes/ - Fresh →
cp editors/fresh/jozi-nights.json ~/.config/fresh/themes/ - Obsidian →
cp -r apps/obsidian <vault>/.obsidian/themes/jozi-city-nights - COSMIC →
cp desktop/cosmic/jozi-nights.ron ~/.config/cosmic/com.system76.CosmicTheme.Dark/v1/Theme - cosmic-term → Import
desktop/cosmic/cosmic-term-jozi-nights.ronvia View > Color schemes
Replace jozi-nights with jozi-morning for the light variant, or jozi-midnight for the deepest dark.
For Obsidian midnight: copy apps/obsidian/snippets/jozi-midnight.css to <vault>/.obsidian/snippets/ and enable it under Settings > Appearance > CSS snippets.
Jozi City Nights sits at the intersection of Tokyo Night Storm's restraint and synthwave's electricity:
- Muted storm backgrounds — deep navy blue-greys from Tokyo Night Storm (
#1b1e2e,#1f2335,#24283b) that stay out of your way - Neon synthwave accents — hot pink
#f935b1, electric purple#c064f4, neon green#54e484, inspired by Kabukicho - Three modes —
nightsis the city after dark,morningis the same energy after the storm passes,midnightgoes deeper with Tokyo Night's darkest backgrounds (#101014,#16161e,#1a1b26)
The canonical palette is defined in palette.json.
All readable text and syntax accents meet WCAG 2.1 AA contrast against their variant background:
| Pair | Target | Status |
|---|---|---|
fg / fg_alt / fg_muted on bg / bg_soft / bg_hi |
≥ 4.5:1 | pass |
Accents & ANSI colors on bg |
≥ 4.5:1 | pass |
border on bg (non-text UI) |
≥ 3:1 | pass |
cursor_text on cursor |
≥ 4.5:1 | pass |
Near-background ANSI slots (black / bright_black on dark, white on morning) are intentionally low-contrast palette anchors, not body text.
tokyo night storm + kabukicho → jozi city nights
Environment colors derived from Tokyo Night Storm (MIT). Syntax palette inspired by Kabukicho (MIT). Naming, semantic mapping, and blend are original.
MIT.
built by kmf in pretoria · 2026