Skip to content
~/terminal-noir

About

A theme extracted from a website.

Terminal Noir is the theme of nandomoreira.dev, extracted from the site so the whole system shares one visual identity: cold near-black surfaces stepped by luminance, an amber accent and an emerald status color. Living with it on the web made the desktop next to it look like a different place, so the tokens left the site's CSS for a single palette.json and moved into the shell, the compositor, the terminal, the editor and the browser, one app at a time.

The paper variant follows the same roles on warm light tones, taken from the site's light reader theme. Apps that switch with the system get both.

Principles

Three rules

  1. 01 / Palette

    One palette

    Every color lives in palette.json, named by role. Ports read roles, never raw hex, so a change lands everywhere at once.

  2. 02 / Restraint

    One warm note

    Surfaces step by luminance, not hue. Amber appears only where the eye should go: the cursor, focus, keywords, the primary action.

  3. 03 / Trust

    Tested ports

    Ports are generated, committed and checked. What you install is what the palette says.

Standing on

Dracula and Catppuccin

Terminal Noir borrows its shape from two projects that made themes a community effort: Dracula, for one confident identity that goes everywhere, and Catppuccin, for treating the palette itself as the product, with named roles and generated ports.

Open source

Missing your favorite tool? Build a port.

A port is one short script that reads palette.json and writes the app’s native theme, plus a test. Add yours and open a pull request.