omarchy registry
All items

Omarchy Palette

Lib

The Omarchy theme list with accent colors, plus lookup and type-guard helpers.

bunx --bun shadcn@latest add yamz8/omarchy-shadcn-registry/omarchy-palette

Preview

No visual preview
This item ships code rather than UI. Read the source below.

Source

registry/lib/omarchy-palette.ts
export type OmarchyThemeName =
  | "tokyo-night"
  | "catppuccin"
  | "everforest"
  | "gruvbox"
  | "kanagawa"
  | "nord"
  | "rose-pine"

export type OmarchyTheme = {
  name: OmarchyThemeName
  label: string
  /** Accent color as an oklch() string, usable directly in CSS. */
  accent: string
  /** Whether the theme is intended for a light or dark background. */
  appearance: "light" | "dark"
}

export const OMARCHY_THEMES: readonly OmarchyTheme[] = [
  {
    name: "tokyo-night",
    label: "Tokyo Night",
    accent: "oklch(0.68 0.14 264)",
    appearance: "dark",
  },
  {
    name: "catppuccin",
    label: "Catppuccin",
    accent: "oklch(0.78 0.12 320)",
    appearance: "dark",
  },
  {
    name: "everforest",
    label: "Everforest",
    accent: "oklch(0.74 0.11 145)",
    appearance: "dark",
  },
  {
    name: "gruvbox",
    label: "Gruvbox",
    accent: "oklch(0.76 0.14 75)",
    appearance: "dark",
  },
  {
    name: "kanagawa",
    label: "Kanagawa",
    accent: "oklch(0.7 0.09 230)",
    appearance: "dark",
  },
  {
    name: "nord",
    label: "Nord",
    accent: "oklch(0.72 0.08 235)",
    appearance: "dark",
  },
  {
    name: "rose-pine",
    label: "Rosé Pine",
    accent: "oklch(0.74 0.1 15)",
    appearance: "dark",
  },
]

export const DEFAULT_OMARCHY_THEME: OmarchyThemeName = "tokyo-night"

export function getOmarchyTheme(name: string): OmarchyTheme | undefined {
  return OMARCHY_THEMES.find((theme) => theme.name === name)
}

export function isOmarchyThemeName(name: string): name is OmarchyThemeName {
  return OMARCHY_THEMES.some((theme) => theme.name === name)
}