Luxe

Themes

Color that means something.

Luxe's own palette is warm graphite with a champagne-brass accent, and its hues come from a set of paint colors rather than a terminal convention. Those are mid-luminance by nature, so the hues were kept and the lightness re-derived against a contrast floor.

Three rules do the work, and each one is asserted in the test suite rather than eyeballed: every background and gray shares one neutral hue, every accent sits on one lightness plateau so none of them shouts, and nothing drops below 4.5:1 on its own background.

luxe

warm graphite, champagne brass

  • background #12100e
  • user-msg-bg #201e1a 1.1:1
  • selected-bg #2e2b27 1.3:1
  • text #e4dfd6 14.3:1
  • muted #97938c 6.2:1
  • dim #4d4a45 2.2:1
  • border #201e1a 1.1:1
  • border-muted #2e2b27 1.3:1
  • accent #ddc084 10.8:1
  • accent-secondary #d2a5cd 9.0:1
  • info #85c7d7 10.1:1
  • success #81caa0 9.8:1
  • warning #faaa51 9.9:1
  • error #e68485 7.2:1

luxe-light

the same hues on parchment

  • background #f6f4f1
  • user-msg-bg #ebe8e3 1.1:1
  • selected-bg #dcd8d2 1.3:1
  • text #26221c 14.4:1
  • muted #605c54 6.1:1
  • dim #bebab3 1.8:1
  • border #dcd8d2 1.3:1
  • border-muted #bebab3 1.8:1
  • accent #805307 6.1:1
  • accent-secondary #804a7b 6.0:1
  • info #07657d 6.0:1
  • success #1d6944 6.1:1
  • warning #8e4b02 6.1:1
  • error #a4363a 6.0:1

And eleven you may already use.

Faithful ports, held to their own palettes rather than to Luxe's contrast floor — silently "fixing" someone else's Gruvbox would be the wrong call.

Point at one to see it. That is how /theme works in the terminal too: the cursor moves and the whole app repaints, because a palette is not something you can judge from its name.

Set one with "theme": "nord" in ~/.config/luxe/config.json, or override individual tokens with a colors map. On Omarchy, a matching desktop theme is picked up automatically — matching your desktop beats showing off.