jozi city nights
// muted storm backdrop, neon synthwave syntax.
version 0.1 license MIT variants nights · morning · midnight lineage tokyo night storm + kabukicho

$ cat about.md

jozi city nights — a colour scheme 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.

Muted storm backgrounds from Tokyo Night Storm — deep navies and blue-greys that stay out of your way. Syntax highlighting pulls from the synthwave palette: hot pinks, neon greens, electric purples. The feeling is excitement against calm — neon signs reflected in wet tarmac.

nights is the dark variant. morning is the light — same energy, the storm has passed, the city wakes up. midnight goes deeper — the city at its darkest, backgrounds from Tokyo Night proper, neon burning brighter against the void. // kmf · pretoria · 2026

$ ls variants/

# jozi-nights
dark · storm blue #24283b
// skyline.ts — the city after dark
import { neon, storm } from "@jozi/palette"

type CityTheme struct {
  Name   string
  Mode   string
  Glow   float64
}

func ignite(t CityTheme) {
  t.Glow = 0.85
}
# jozi-midnight
dark · tokyo night #1a1b26
// skyline.ts — the city after dark
import { neon, storm } from "@jozi/palette"

type CityTheme struct {
  Name   string
  Mode   string
  Glow   float64
}

func ignite(t CityTheme) {
  t.Glow = 0.85
}
# jozi-morning
light · storm grey #d5d6db
// skyline.ts — the city after dark
import { neon, storm } from "@jozi/palette"

type CityTheme struct {
  Name   string
  Mode   string
  Glow   float64
}

func ignite(t CityTheme) {
  t.Glow = 0.85
}

$ palette --all

Neutrals

Accents

ANSI

Neutral ramp

UI

$ ls themes/

Terminals
Editors
Apps
Desktop
Dev tools

$ git clone jozi-city-nights

# clone the repo
$ git clone https://github.com/kmf/jozi-city-nights ~/.local/share/jozi-city-nights

# ghostty
$ cp terminals/ghostty/jozi-nights ~/.config/ghostty/themes/

# 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/

# foot
$ cp terminals/foot/jozi-nights.ini ~/.config/foot/

# vs code
$ cp -r editors/vscode ~/.vscode/extensions/jozi-city-nights

# obsidian
$ cp -r apps/obsidian <vault>/.obsidian/themes/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/

# lazygit — merge into ~/.config/lazygit/config.yml
$ cp tools/lazygit/jozi-nights.yml ~/.config/lazygit/

# zed
$ cp editors/zed/jozi-city-nights.json ~/.config/zed/themes/

# cosmic desktop
$ cp desktop/cosmic/jozi-nights.ron ~/.config/cosmic/com.system76.CosmicTheme.Dark/v1/Theme

# cosmic-term
$ # import via cosmic-term > View > Color schemes > Import
Replace jozi-nights with jozi-morning for the light variant or jozi-midnight for the deepest dark.
copied