omarchy themes

color palette

background #110e0e
foreground #e4e0dd
accent #c96f75
cursor #f8f7f6
selection background #d4545c
selection foreground #110e0e
color0 #110e0e
color1 #d16168
color2 #d98364
color3 #cf777d
color4 #d06269
color5 #d26a71
color6 #d7b29a
color7 #e4e0dd
color8 #504b55
color9 #edc0c3
color10 #f7e4d4
color11 #efd2d4
color12 #ecc0c3
color13 #efc8cb
color14 #f8e8dd
color15 #f8f7f6

preview

~/emberveil
┌──────────────────────Hardware──────────────────────┐
 PC: omarchy-host
│ ├: x86_64 (8 cores) @ 4.00 GHz
│ ├: Integrated Graphics
│ ├󱄄: 1920x1080 @ 60 Hz
│ ├󰋊: 120 / 500 GiB (24%)
│ ├: 8 / 16 GiB (50%)
└ └󰓡 : 0 / 4 GiB (0%)
└────────────────────────────────────────────────────┘
┌──────────────────────Software──────────────────────┐
 OS: Omarchy 3.6.0
│ ├󰘬: master
│ ├󰔫: stable
│ ├: linux-arch
│ ├: Hyprland (Wayland)
│ ├: ghostty
│ ├󰏖: 1024 (pacman)
│ ├󰸌: Emberveil ●●●●●●●●
└ └: JetBrainsMono Nerd Font (9pt)
└────────────────────────────────────────────────────┘
┌─────────────────Age / Uptime / Update───────────────┐
󱦟 OS Age: 0 days
󱫐 Uptime: 2 hours, 13 mins
 Update: Today
└────────────────────────────────────────────────────┘
user@omarchy:~ $

readme

Emberveil

Emberveil

A dark Omarchy theme built around a single ember accent on a warm near-black base. The active window border carries a gradient that fades to the background at the centre of the edge, so windows read as lit at the corners and dim in the middle rather than sitting inside a flat outline.

Palette

RoleColour
Background#110e0e
Foreground#e4e0dd
Accent (ember)#d4545c
Selection bg#d4545c
Selection fg#110e0e
Muted#7d7472
Dark surface#3a2427

The 16-colour ANSI ramp is defined in colors.toml and is what terminals, Zed, btop and the shell all read, so editing colors.toml updates the whole desktop. Every bright_* slot is genuinely lighter than its regular_* counterpart so that bold text and TUI key hints stay legible. Neovim is the one exception: it uses Ashen, see Neovim below.

Border gradient

The gradient lives in one field and drives both Hyprland windows and the shell's popups:

hyprland_active_border = "#d4545c #443c44 #2e2a30 #443c44 #d4545c"

Dropping the trailing deg angle gives the horizontal default. 90deg is vertical, 45deg diagonal. Note that Hyprland maps a linear gradient across the whole window box, so 45deg and 0deg skew on non-square windows; the horizontal default is the one that stays balanced across aspect ratios.

The middle stops are a cool grey rather than a darker red on purpose: the wallpaper is a very red image, and red-on-red left the midtones of the border at a contrast of ~1.1 against it (effectively invisible). The grey lifts them to ~1.4-1.7 so the whole ramp reads while still fading in the middle.

Background

backgrounds/BG2.webp is a red-and-black character illustration whose visible colour sits almost entirely at hue 356°, the same hue as the ember accent. It is veiled (brightness ×0.72, saturation ×0.88) so the image's red does not compete with the UI accent, and stored as WebP q88 to keep the repository light (0.77 MB, down from 9.26 MB).

Files

FileApplies to
colors.tomlsource of truth, drives every template below
btop.themebtop (regenerated from colors.toml)
hyprland.confwindow/decoration settings and colours
hyprlock.conflock screen colours
neovim.luaNeovim, sets colorscheme = "ashen"
foot.inifoot, the default Omarchy terminal
alacritty.toml, ghostty.conf, kitty.conf, warp.yamlother terminals
gtk.cssGTK4 / Adwaita apps
vencord.theme.cssDiscord (Vencord)
emberveil.zed.jsonZed
walker.css, wofi.css, swayosd.css, waybar.css, mako.inishell surfaces
backgrounds/BG2.webpdesktop background
preview.pngpreview shown in the theme switcher

Files that omarchy theme install does not copy

Omarchy deliberately drops a few files when installing a theme from a git repository, because they can name a program to launch. These files are in the repository for you to copy by hand, but installing the theme will not put them on your machine:

FileWhy it is skipped
neovim.lua*.lua is dropped (Neovim loads it at startup)
alacritty.toml, ghostty.conf, kitty.conf, foot.initerminal configs name the program to launch

Everything else — colors.toml, backgrounds/, preview.png, hyprland.conf, hyprlock.conf, the CSS files, btop.theme, chromium.theme, icons.theme and the Zed theme — is installed normally and needs no manual step.

If you want the skipped ones, the instructions are below.

Neovim

Emberveil does not ship its own editor colorscheme. Neovim uses ashen.nvim, a warm ember-toned dark theme, which pairs with the ember accent without a second palette to keep in sync.

neovim.lua is not installed automatically (see the note above). To get Ashen, add the plugin and set the colorscheme in your own LazyVim config.

For LazyVim, create ~/.config/nvim/lua/plugins/neovim.lua:

return {
  { "ficcdaf/ashen.nvim" },
  {
    "LazyVim/LazyVim",
    opts = {
      colorscheme = "ashen",
    },
  },
}

Restart Neovim afterwards. If Ashen does not appear, run :Lazy sync once.

If you would rather have a colorscheme generated straight from colors.toml, skip Ashen entirely and delete neovim.lua from your copy of the theme — Omarchy then regenerates it from the palette on every omarchy theme set.

Terminals

The terminal configs are not installed automatically. Each one is a drop-in file you copy to the right place. You only need the one for the terminal you use.

foot (Omarchy's default)

foot.ini is a complete standalone config: the full Emberveil palette plus a translucent blurred background, an 11pt JetBrainsMono Nerd Font, a beam cursor and 10 000 lines of scrollback.

THEME=~/.config/omarchy/themes/emberveil
mkdir -p ~/.config/foot
cp "$THEME/foot.ini" ~/.config/foot/foot.ini
omarchy restart terminal

Because a theme-supplied foot.ini is never regenerated, editing colors.toml will no longer update foot — the palette in foot.ini is a copy. If you change the palette, mirror it in the [colors-dark] section of your foot.ini too.

Prefer to keep foot tied to the palette? Delete foot.ini from your copy of the theme. Omarchy then regenerates it from colors.toml on every omarchy theme set, and you can still get the look by adding just the presentation settings to ~/.config/foot/foot.ini:

[main]
include=~/.local/state/omarchy/toggles/foot.ini
include=~/.local/state/omarchy/current/theme/foot.ini
term=xterm-256color
font=JetBrainsMono Nerd Font:size=11
pad=14x14
initial-window-mode=windowed
workers=0

[colors-dark]
blur=yes
alpha=0.95

[scrollback]
lines=10000
multiplier=7.0

[cursor]
style=beam
blink=yes

This second form is the more flexible one: colours stay generated from colors.toml, and only the presentation is yours.

Other terminals

THEME=~/.config/omarchy/themes/emberveil

# Alacritty
mkdir -p ~/.config/alacritty && cp "$THEME/alacritty.toml" ~/.config/alacritty/

# Ghostty
mkdir -p ~/.config/ghostty && cp "$THEME/ghostty.conf"    ~/.config/ghostty/config

# Kitty
mkdir -p ~/.config/kitty && cp "$THEME/kitty.conf"        ~/.config/kitty/

# Warp
mkdir -p ~/.config/warp-terminal/themes && cp "$THEME/warp.yaml" ~/.config/warp-terminal/themes/

Look'n'feel

Omarchy does not source hyprland.conf automatically. Hyprland reads the generated hyprland.lua, which already carries the border gradient, so the theme alone gives you the palette and the border. The rest of the look'n'feel — gaps, blur, shadows, dimming, tearing — is in hyprland.conf and has to be applied by you.

The settings it carries are:

SettingValue
Gapsgaps_in = 4, gaps_out = 8
Border sizeborder_size = 2
Blursize = 10, passes = 2, new_optimizations = true
Shadowrange = 16, color = rgba(00000052)
Motion blurenabled
Dim inactivedim_inactive = true, dim_strength = 0.5
Tearingallow_tearing = true
Layoutdwindle
Roundingnot forced (Omarchy's default)

You have two ways to apply them.

Option A — source the file. Add this to the bottom of ~/.config/hypr/hyprland.lua, after the Omarchy requires:

source = (os.getenv("HOME") .. "/.config/omarchy/themes/emberveil/hyprland.conf")

Option B — copy the settings. Add them to ~/.config/hypr/looknfeel.lua, which Omarchy already loads for you. This is the tidier option because it keeps your own config self-contained:

hl.config({
  general = {
    allow_tearing = true,
    gaps_in = 4,
    gaps_out = 8,
    border_size = 2,
  },
  decoration = {
    motion_blur = { enabled = true },
    blur = {
      enabled = true,
      size = 10,
      passes = 2,
      new_optimizations = true,
    },
    shadow = {
      enabled = true,
      range = 16,
      color = "rgba(00000052)",
    },
    dim_inactive = true,
    dim_strength = 0.5,
  },
})

Then reload Hyprland:

hyprctl reload

Lock screen. hyprlock.conf only defines colours. Source it from your own hyprlock config to get a matching lock screen:

source = ~/.config/omarchy/themes/emberveil/hyprlock.conf

Install

omarchy theme install emberveil

Or from the URL directly:

omarchy theme install https://github.com/amaurisd97/omarchy-emberveil-theme.git

Then apply it:

omarchy theme set "Emberveil"

Cycle through the bundled background with omarchy theme bg next.

Credits

  • Palette direction and the original file layout come from Vengeance by Grey-007.
  • Neovim support uses ashen.nvim as a separate dependency, not bundled here.
  • The wallpaper was generated with AI image tools (ChatGPT and Gemini) and is released under the same MIT license as the theme.

License

MIT. See LICENSE, and NOTICE for the credits that go with it.