add colors.toml and 0x-hex support, rescuing 44 more community themes

Poked at the 62 "no parseable source" skips from the first pass and found two things
the pipeline didn't handle: several community repos genuinely ship colors.toml too — some
in Omarchy 4's own semantic schema (best case, no derivation needed at all, same quality
as the official 22), others reusing the filename for an unrelated flat color0..color15
scheme — and a handful of alacritty.toml files use 0xrrggbb instead of #rrggbb.

palette.ts's loadPalette is now a thin wrapper over two exported pieces (parseTomlText,
paletteFromRecord) so the community pipeline can attempt the real schema first without
duplicating the reader; falls through to the color16 or ANSI-derived paths otherwise.
generate-themes.ts --check still reports 0 changes for the official set — the refactor
is behavior-preserving there, the lowercase-hex normalization it picked up along the way
touched 7 official theme files cosmetically (their source colors.toml has uppercase hex),
regenerated for real rather than left inconsistent with their own source.

147 -> 191 community themes ported. Of the original 62 unparseable repos, most turned out
to be simply gone (404 on GitHub — repos deleted or renamed since the site listed them);
the rest needed one of the two format additions above. 20 themes remain stuck: 16 dead
repos, 2 with no repo link at all, and the same handful of genuinely low-contrast source
palettes (mostly Solarized variants) where fixing contrast would mean changing the
author's actual colours rather than porting them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-22 01:48:21 +00:00
co-authored by Claude Sonnet 5
parent a58f4d2b32
commit 861fc4a58b
57 changed files with 4859 additions and 124 deletions
+308
View File
@@ -55,6 +55,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "andromeda",
"name": "Andromeda",
"repo": "signaldirective/andromeda",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "anonymous",
"name": "Anonymous",
@@ -97,6 +104,20 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "ash",
"name": "Ash",
"repo": "bjarneo/omarchy-ash-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "astrodark",
"name": "Astrodark",
"repo": "JamsMendez/omarchy-astrodark-theme",
"kind": "colors.toml (Omarchy schema)",
"dark": true
},
{
"id": "atari",
"name": "Atari",
@@ -195,6 +216,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "biscuit-de-mar-dark",
"name": "Biscuit DE Mar Dark",
"repo": "OldJobobo/omarchy-biscuit-de-mar-dark-theme",
"kind": "colors.toml (Omarchy schema)",
"dark": true
},
{
"id": "black-arch",
"name": "Black Arch",
@@ -202,6 +230,27 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "black-gold",
"name": "Black Gold",
"repo": "HANCORE-linux/omarchy-blackgold-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "black-money",
"name": "Black Money",
"repo": "HANCORE-linux/omarchy-blackmoney-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "blackturq",
"name": "Blackturq",
"repo": "HANCORE-linux/omarchy-blackturq-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "blueridge",
"name": "Blueridge",
@@ -230,6 +279,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "cattpuccin-glass",
"name": "Cattpuccin Glass",
"repo": "Luquatic/omarchy-catppuccin-glass",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "city-783",
"name": "City 783",
@@ -244,6 +300,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "corporate",
"name": "Corporate",
"repo": "defer/omarchy-corporate-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": false
},
{
"id": "cpunk",
"name": "Cpunk",
@@ -258,6 +321,20 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "crimson-gold",
"name": "Crimson Gold",
"repo": "knappkevin/omarchy-crimson-gold-theme",
"kind": "colors.toml (Omarchy schema)",
"dark": true
},
{
"id": "cyberpunk-2",
"name": "Cyberpunk 2",
"repo": "SeanAnd/omarchy-cyberpunk-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "dark-xp",
"name": "Dark XP",
@@ -307,6 +384,20 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "desert-gleam",
"name": "Desert Gleam",
"repo": "avis3nna/desert-gleam",
"kind": "colors.toml (16-colour ANSI)",
"dark": false
},
{
"id": "desert-twilight",
"name": "Desert Twilight",
"repo": "avis3nna/desert-twilight",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "dotrb",
"name": "Dotrb",
@@ -342,6 +433,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "elysian",
"name": "Elysian",
"repo": "bjarneo/omarchy-elysian-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "ember-n-ash",
"name": "Ember N Ash",
@@ -370,6 +468,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "evergarden",
"name": "Evergarden",
"repo": "celsobenedetti/omarchy-evergarden",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "farline",
"name": "Farline",
@@ -384,6 +489,27 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "fiery-ocean",
"name": "Fiery Ocean",
"repo": "bjarneo/omarchy-fiery-ocean-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "fireside",
"name": "Fireside",
"repo": "bjarneo/omarchy-fireside-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "firesky",
"name": "Firesky",
"repo": "bjarneo/omarchy-firesky-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "flat-dracula",
"name": "Flat Dracula",
@@ -391,6 +517,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "flexoki-dark",
"name": "Flexoki Dark",
"repo": "euandeas/omarchy-flexoki-dark-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "florida-man",
"name": "Florida Man",
@@ -412,6 +545,27 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "frost",
"name": "Frost",
"repo": "bjarneo/omarchy-frost-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "futurism",
"name": "Futurism",
"repo": "bjarneo/omarchy-futurism-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "ghost-pastel",
"name": "Ghost Pastel",
"repo": "row-huh/omarchy-ghost-pastel-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "glory-antic",
"name": "Glory Antic",
@@ -475,6 +629,13 @@
"kind": "alacritty.toml",
"dark": false
},
{
"id": "harbor-dark",
"name": "Harbor Dark",
"repo": "HANCORE-linux/omarchy-harbordark-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "hex",
"name": "Hex",
@@ -496,6 +657,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "hollow-knight",
"name": "Hollow Knight",
"repo": "bjarneo/omarchy-hollow-knight-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "infernium",
"name": "Infernium",
@@ -510,6 +678,20 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "inkypinky",
"name": "Inkypinky",
"repo": "HANCORE-linux/omarchy-inkypinky-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "kanso",
"name": "Kanso",
"repo": "HANCORE-linux/omarchy-kanso-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "killer-klowns",
"name": "Killer Klowns",
@@ -517,6 +699,20 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "kimiko",
"name": "Kimiko",
"repo": "krymzonn/omarchy-kimiko-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "koyanagi",
"name": "Koyanagi",
"repo": "YutaKoyanagi10/omarchy-koyanagi-theme",
"kind": "colors.toml (Omarchy schema)",
"dark": true
},
{
"id": "kurayami",
"name": "Kurayami",
@@ -650,6 +846,20 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "monolith-2",
"name": "Monolith 2",
"repo": "grvsnh/omarchy-monolith-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "moodpeak",
"name": "Moodpeak",
"repo": "HANCORE-linux/omarchy-moodpeak-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "nagai-poolside",
"name": "Nagai Poolside",
@@ -692,6 +902,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "nes",
"name": "Nes",
"repo": "bjarneo/omarchy-nes-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "nyc",
"name": "Nyc",
@@ -699,6 +916,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "one-dark-pro",
"name": "One Dark Pro",
"repo": "sc0ttman/omarchy-one-dark-pro",
"kind": "colors.toml (Omarchy schema)",
"dark": true
},
{
"id": "oxford",
"name": "Oxford",
@@ -720,6 +944,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "pina",
"name": "Pina",
"repo": "bjarneo/omarchy-pina-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "pink-blood",
"name": "Pink Blood",
@@ -727,6 +958,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "pmndrs",
"name": "Pmndrs",
"repo": "leweyse/omarchy-pmndrs-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "pulsar",
"name": "Pulsar",
@@ -776,6 +1014,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "reverie",
"name": "Reverie",
"repo": "bjarneo/omarchy-reverie-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "robco",
"name": "Robco",
@@ -790,6 +1035,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "rose-pine-dark",
"name": "Rose Pine Dark",
"repo": "guilhermetk/omarchy-rose-pine-dark",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "roseofdune",
"name": "Roseofdune",
@@ -811,6 +1063,48 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "saga",
"name": "Saga",
"repo": "HANCORE-linux/omarchy-saga-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "sakura",
"name": "Sakura",
"repo": "bjarneo/omarchy-sakura-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "sapphire",
"name": "Sapphire",
"repo": "HANCORE-linux/omarchy-sapphire-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "serenity",
"name": "Serenity",
"repo": "bjarneo/omarchy-serenity-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "shadesofjade",
"name": "Shadesofjade",
"repo": "HANCORE-linux/omarchy-shadesofjade-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "snow",
"name": "Snow",
"repo": "bjarneo/omarchy-snow-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": false
},
{
"id": "snow-black",
"name": "Snow Black",
@@ -860,6 +1154,13 @@
"kind": "alacritty.toml",
"dark": true
},
{
"id": "sunkissed",
"name": "Sunkissed",
"repo": "loeclos/omarchy-sunkissed-theme",
"kind": "alacritty.toml",
"dark": true
},
{
"id": "sunset",
"name": "Sunset",
@@ -1021,6 +1322,13 @@
"kind": "alacritty.toml",
"dark": false
},
{
"id": "x-1632",
"name": "X 1632",
"repo": "OldJobobo/omarchy-x-1632-theme",
"kind": "colors.toml (16-colour ANSI)",
"dark": true
},
{
"id": "yuugure",
"name": "Yuugure",