omarchy themes

color palette

background #101510
foreground #7ee89a
accent #00ff41

preview

~/weyland-yutani
┌──────────────────────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)
│ ├󰸌: Weyland-Yutani
└ └: JetBrainsMono Nerd Font (9pt)
└────────────────────────────────────────────────────┘
┌─────────────────Age / Uptime / Update───────────────┐
󱦟 OS Age: 0 days
󱫐 Uptime: 2 hours, 13 mins
 Update: Today
└────────────────────────────────────────────────────┘
user@omarchy:~ $

readme

Weyland-Yutani — an Omarchy theme

WEYLAND-YUTANI CORPMU/TH/UR 6000 INTERFACE 2037 READY FOR INQUIRY

Phosphor green on warm CRT black, with amber for warnings and industrial red for critical states. Modelled on the MU/TH/UR 6000 terminal and the Nostromo's lower decks.

Weyland-Yutani theme — terminal, btop and nvim

The semantics are consistent everywhere, and they are the point of the theme:

greennominal
ambercaution
redcritical

Nothing resting is red. Nothing failing is green.

It also ships a CRT shader — scanlines, phosphor tint, rounded tube corners — with an on/off row in the Omarchy menu. Off until you ask for it.

Install

Super + Alt + Space  →  Install  →  Style  →  Theme

Paste the repo URL. Or from a terminal:

omarchy theme install https://github.com/abaidan/omarchy-weyland-yutani-theme.git
omarchy theme set weyland-yutani

Then, for the boot screen:

Super + Alt + Space  →  Style  →  Unlock  →  Weyland Yutani

Use the menu rather than calling omarchy-plymouth-set-by-theme yourself — it needs root, and the menu wraps it in a terminal that can prompt for a password.

Gallery

Terminal, btop and nvim — btop is monochrome phosphor: hue is never used to separate two panels that are both fine, pressure meters run green→red, and headroom runs dim→bright.

Terminal, btop, nvim

Bar, unified menu and notifications

Menu and notifications

Desktop

Desktop

Lock screen — the password field as a phosphor terminal prompt, red on refusal.

Lock screen

About screen — the wings insignia, wordmark and BUILDING BETTER WORLDS, with the optional fastfetch config's amber tagline and theme-tinted module keys (Hardware green, Software amber, Age/Uptime cyan).

About screen

Boot screen

Plymouth boot screen

Wallpapers — all three drawn from SVG in assets/, 3840×2160.

1-muthur-terminal2-semiotic-grid3-hull-dark

CRT mode

The shader that makes the whole desktop a phosphor tube: scanlines, a luminance-weighted green tint, rounded tube corners and a vignette.

It does not bend the picture. A screen shader moves pixels but not the pointer, so barrel curvature puts what you see and what you click in different places — see Before you leave it on.

It ships with the theme but stays off until you ask for it. To install the toggle and the menu row:

git clone https://github.com/abaidan/omarchy-weyland-yutani-theme.git
cd omarchy-weyland-yutani-theme
./bin/install-extras.sh     # answer y to "Install the CRT shader…"

After that it is a menu row, and the row shows a ✓ while it is on:

Super + Alt + Space  →  Style  →  CRT shader

CRT shader toggle in the Style menu

Or from a terminal, which is also what a keybinding would call:

omarchy-wy-crt on | off | toggle | status

status exits 0 when the shader is active, which is how the menu row decides whether to show its checkmark. The installer adds the same treatment to Omarchy's built-in bar-position rows.

For a keybinding, add to ~/.config/hypr/bindings.conf:

bindd = SUPER SHIFT, C, CRT shader, exec, omarchy-wy-crt toggle

CRT shader off versus on

CRT corner falloff

It follows the theme

Switch to another theme and the shader turns itself off; switch back and it returns — but only if it was on when you left. A phosphor-green tint is right for this theme and wrong for Tokyo Night.

That is a theme-set hook in ~/.config/omarchy/hooks/theme-set.d/, which Omarchy runs after every theme change. Intent is stored separately from the live state, so returning to the theme never silently re-enables a shader you had deliberately turned off.

Font, bar position and About branding are deliberately left alone. In Omarchy those are global user settings, not part of a theme, and a theme that rewrote them on every switch would be a bad citizen — someone may have picked their font for readability rather than for looks. If you do want the font to follow the theme too, add to the same hook:

[ "$1" = weyland-yutani ] \
  && omarchy font set "3270 Nerd Font" \
  || omarchy font set "CaskaydiaMono Nerd Font"

Before you leave it on

  • It costs GPU time every frame, at your full output resolution. On a 4K panel that is not free.
  • It tints everything, including photos, video and screenshots you share. Colour work is not possible with it on.
  • It relaxes damage tracking to per-monitor (debug:damage_tracking = 1) for as long as it is on, and puts your previous value back on off. Without that, Hyprland re-renders only the rectangles that changed and the shader runs on those alone — see below.
  • Curvature is off, and should stay off. CURVATURE moves pixels; it cannot move the pointer with them. At the old default of 0.028 a click near the edge of a 4K panel landed about 15px from where the button looked, which is enough to miss it. The rounded corners you can see are a mask, not geometry, so they cost nothing.

The constants at the top of crt.glsl are the tuning surface. Set SCANLINE and TINT to 0.0 for the tube shape alone, or CORNER to 0.0 for square corners. Re-run omarchy-wy-crt on to pick up an edit.

If hovering makes a rectangle flicker

Hyprland re-renders only what changed. A screen shader whose output depends on where a pixel is — scanlines, a vignette, any curvature — then runs on that rectangle alone and disagrees with the rest of the screen along its edges. What you see is the area under the cursor shimmering out of step as you move.

omarchy-wy-crt on already sets debug:damage_tracking = 1, which re-renders the whole monitor whenever anything changes. If you still see it, 0 re-renders every frame unconditionally — correct, and a real cost in power:

hyprctl eval 'hl.config({ debug = { damage_tracking = 0 } })'

If it appears to do nothing

Hyprland reports shader failures in a red banner across the top of the screen and nowhere else — nothing reaches hyprland.log, and the banner fades. It can also linger from an earlier failure after a later load succeeded.

The dialect is the usual cause. Hyprland 0.56 compiles screen shaders as GLSL ES 3.00 and passes your fragment source verbatim, prepending no #version. The older varying / texture2D / gl_FragColor form that most CRT-shader examples still use compiles as ES 1.00 and then fails to link against Hyprland's ES 3.00 vertex shader — silently. This shader declares #version 300 es and uses in, texture() and layout(location = 0) out vec4 fragColor.

Built against

Omarchy 4.0.x "Quattro" — package 4.0.2-1, with /usr/share/omarchy/version reporting 4.0.0.alpha. Hyprland 0.56.2.

The theme format was read from the installed tree rather than guessed; the findings — including several places where Quattro differs from what you might expect — are written up in NOTES.md.

Contrast is measured, not eyeballed: foreground on background is 12.22:1 (WCAG AAA is 7:1), every lock-screen text colour is AA or better, and each wallpaper was checked at its brightest region against the theme's text colours, worst case 6.46:1.

Recommended font

The theme cannot set your font: in Quattro the font is a system-wide user setting (omarchy font set rewrites your own terminal configs), not a theme file. For the full MU/TH/UR effect:

# IBM 3270, Nerd Font patched -- the Nostromo's actual on-screen face.
# In the official `extra` repo, so no AUR helper and no build.
sudo pacman -S ttf-3270-nerd
omarchy font set "3270 Nerd Font"

Run that in a real terminal — sudo needs a TTY to prompt for your password.

VT323 is a rounder-CRT alternative; Share Tech Mono trades some period accuracy for readability at small sizes. Any Nerd Font works — the palette does the heavy lifting.

Terminal background opacity is also a user setting. The palette is designed for a fully opaque background; if you want the CRT-glass look, about 0.96 keeps text crisp.

Optional: the industrial look

Window borders ship with the theme — active windows get a phosphor-green gradient, inactive ones industrial steel. Sharp corners you already have: Omarchy 4.x defaults decoration:rounding to 0, so there is nothing to do.

Two things that finish the look are not themeable, so they are one-liners for your own config:

Bar position is already in Omarchy's own menu, with all four edges — no need for a command:

Super + Alt + Space  →  Style  →  Menu Bar  →  Position

The extras script adds a checkmark to those rows so you can see which edge is active, which Omarchy does not show by default:

Bar position with the active edge checked

Tighter, denser gaps than the stock 5/10 — industrial, not airy:

-- ~/.config/hypr/looknfeel.lua
hl.config({
  general = { gaps_in = 2, gaps_out = 4 },
})

Optional extras, in one command

Everything below — branding, the fastfetch config, tighter gaps, bar position — can be installed interactively, with every original backed up first:

git clone https://github.com/abaidan/omarchy-weyland-yutani-theme.git
cd omarchy-weyland-yutani-theme
./bin/install-extras.sh      # asks before each change
./bin/uninstall-extras.sh    # puts everything back

Neither script needs root, and neither installs the theme itself — Omarchy does that. They only cover the layer Omarchy has no hook for. The sections below describe what they do, if you would rather do it by hand.

Optional: branding

The About screen (Super + Alt + Space → About) and the screensaver read their art from your own config, so these are copy-in extras:

cp branding/about.txt       ~/.config/omarchy/branding/about.txt
cp branding/screensaver.txt ~/.config/omarchy/branding/screensaver.txt

branding/about.txt is sized to the 54×26 block omarchy branding about targets and renders correctly against Omarchy's stock fastfetch config with no further setup. For the amber tagline and theme-tinted module keys there is an optional fastfetch config:

cp fastfetch/config.jsonc ~/.config/fastfetch/config.jsonc

Two caveats: omarchy-launch-about skips its window auto-fit whenever a user fastfetch config exists, so the About window falls back to a generic size; and that file is a snapshot of the 4.0.x stock config with only colours changed, so it will not track upstream module changes. Skip it to keep the auto-fit.

Revert either with omarchy branding about reset / omarchy branding screensaver reset.

Prompt

For a matching shell prompt, in ~/.config/starship.toml:

format = "[NOSTROMO://](bold #00c437)[$directory](#7ee89a)[ ▸ ](bold #00ff41)"

[directory]
format = "[$path]($style)"
truncation_length = 3
style = "#7ee89a"

What this theme deliberately does not ship

Quattro drops anything executable from a theme installed by a URL — every *.lua, the terminal configs, vscode.json — and regenerates them from colors.toml. Shipping them would be silently discarded with a warning at install time. So this theme carries no Lua and no terminal configs, and instead expresses everything through colors.toml, two shell.*.toml section overrides, btop.theme, icons.theme and images.

A few things simply cannot be themed on 4.0.x, and it is worth knowing which so you do not go looking:

  • Corner rounding and gaps. No theme can set them; the shell exposes no radius token at all.
  • Critical notifications are not red. The shell declares an accentColor for urgency 2 and then never reads it, and there is no per-urgency token. Critical notifications are distinguished by persisting instead.
  • The lock screen has no heading. There is no masthead element and its wallpaper is blurred, which is why the MU/TH/UR wording lives on the boot screen instead.
  • Fonts, bar position, About branding and fastfetch are user settings.

All of this is traced to the specific file and line in NOTES.md.

Uninstalling

Nothing here is destructive and nothing needs root.

The extras (branding, fastfetch, gaps, bar position, and the CRT shader if you enabled it):

./bin/uninstall-extras.sh

It restores each file from the backup taken at install time, kept in ~/.local/state/omarchy-weyland-yutani/backup. A file that did not exist before install is deleted rather than restored, so you end up where you actually started. Only the theme's own marked block is cut out of ~/.config/hypr/looknfeel.lua — anything you added yourself stays.

The theme itself is Omarchy's to manage. Switch away first, then remove:

omarchy theme set tokyo-night
omarchy theme remove weyland-yutani

Switching away is enough on its own: Omarchy rebuilds ~/.local/state/omarchy/current/theme from scratch on every switch, so no Weyland-Yutani file survives in the active theme. Removing it just reclaims the clone in ~/.config/omarchy/themes/.

The boot screen is set separately and is the one piece that needs root, so it is not scripted. Pick another entry (or Default) from:

Super + Alt + Space  →  Style  →  Unlock

The font, if you installed it and want it gone:

omarchy font set "CaskaydiaMono Nerd Font"   # or whatever you used before
sudo pacman -Rns ttf-3270-nerd               # optional

Doing it by hand instead of with the script:

omarchy branding about reset
omarchy branding screensaver reset
rm -f ~/.config/fastfetch/config.jsonc
omarchy bar position top
# then delete the weyland-yutani block from ~/.config/hypr/looknfeel.lua

Disclaimer

Fan-made theme inspired by the Alien franchise. Not affiliated with or endorsed by 20th Century Studios or Disney.

Every asset in this repository is self-made and MIT-licensed. The wallpapers, the boot masthead and the ASCII branding are all generated from source in assets/. No film stills, no ripped logos, no copyrighted icon sets.

Credits

  • Typeset in the Future: Alien by Dave Addey — the frame-by-frame typography analysis this theme leans on.
  • ha-weylandyutani — prior art for phosphor green on CRT-tinted dark.
  • weyland-yutani-theme (Emacs) — syntax-highlighting colour relationships.
  • omarchy-retro-fallout-theme — structural reference for a community CRT theme.
  • Ron Cobb's Semiotic Standard for the Nostromo — the icon language 2-semiotic-grid nods to. The glyphs there are original geometry, not reproductions.

License

MIT