omarchy themes

color palette

background #0B0E20
foreground #DCD4BC
accent #A8BE4A
cursor #F6D26C
selection background #272B5E
selection foreground #FBFBF4
color0 #0B0E20
color1 #C85234
color2 #8CAE3E
color3 #E6B14A
color4 #6E72C6
color5 #8B67C0
color6 #7FA3DC
color7 #DCD4BC
color8 #6E70A8
color9 #E4703F
color10 #BFD45C
color11 #F6D26C
color12 #8A8EDE
color13 #AC8AE0
color14 #A5C4F0
color15 #FBFBF4

preview

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

readme

A Scanner Darkly — an Omarchy theme

A dark Omarchy theme built from the venetian night: deep indigo where the light comes through the slats, rotoscoped amber for anything warm enough to be a person, and one acid-green signal — the title green — reserved for whatever the system is currently telling you.

The palette was sampled directly from the film's poster art. Nothing in the theme is red until something has actually gone wrong.

A Scanner Darkly theme preview

Install

omarchy theme install https://github.com/craigderington/omarchy-scanner-darkly-theme.git

Local development

From a local checkout, link the repository into Omarchy and apply it:

ln -s "$(pwd)" ~/.config/omarchy/themes/scanner-darkly
omarchy theme set scanner-darkly

The link command can be skipped when that theme path already exists.

What's included

  • Seven original 4K wallpapers, made for this theme rather than collected: faces behind pried-apart blinds (which doubles as the title plate), the scramble suit, the blue-flower field, a holo-scanner readout laid over Arctor's living room, the suit worn by nobody, a rotoscoped portrait, and the New-Path corridor
  • A Hyprland 0.55+ Lua treatment: 10 px traced rounding, Substance-D blur, interpolated (rather than mechanical) motion curves, and a three-stop green → amber → indigo border that rotates continuously on the focused window — the scramble suit, cycling
  • Coordinated Omarchy surfaces: shell bar and popups, launcher, menus, notifications, polkit, lock screen, image picker, GTK, and the screen-share picker
  • Terminals: Alacritty, Foot, Kitty, Ghostty
  • Editors and tools: Neovim (Aether), VS Code / VSCodium / Cursor, Helix, Zellij, btop, Obsidian, Pi, gum, SwayOSD, mako
  • A standalone Base24 palette for anything else you want to match

Palette

RoleColourName
background#0B0E20Night Blinds
surface#171B38Slat Shadow
selection#272B5EScramble Field
comment / muted#6E70A8Blind Haze
foreground#DCD4BCBone
bright foreground#FBFBF4Poster White
accent#A8BE4ATitle Green
red / error#C85234Fault Rust
orange / action#E07B2CSubstance
yellow / warning#E6B14AFace Amber
green / success#8CAE3ENew Path
cyan / info#7FA3DCSlat Light
blue / structure#6E72C6Venetian
magenta / keyword#8B67C0Scramble Suit
cursor#F6D26CBeacon Amber

Semantic roles in colors.toml are the source of truth; color0–color15 mirror them for older integrations.

Wallpapers

Contact sheet: Seven Days, Scramble Suit, Mors Ontologica, Holo-Scanner, Everything Is Not OK, Interpolation, and New-Path

Full-resolution originals (3840 × 2160) are in backgrounds/.

Integration notes

Omarchy applies the palette, shell, Hyprland, wallpaper, terminal, and generated app themes when the theme is selected.

One thing worth knowing about omarchy theme install: a theme cloned from a repository has its executable files stripped and regenerated from colors.toml. That covers every *.lua (so hyprland.lua and gum_env.lua), the four terminal configs, and vscode.json. The colours survive — but the authored Hyprland art direction in hyprland.lua (the rotating border, the blur and motion curves, the window rules) does not. To keep it, symlink or copy the checkout into ~/.config/omarchy/themes/ instead, where a theme you placed yourself is unrestricted.

gtk.css, helix.toml, zellij.kdl, obsidian.css, the Base24 palette, and the standalone vscode-extension/ package are optional assets. They need the corresponding application plus an app-specific import or manual installation; their presence in the theme directory alone does not activate them.

Attribution

  • Visual direction and palette are drawn from A Scanner Darkly (2006, dir. Richard Linklater), adapted from the novel by Philip K. Dick. This is an unofficial fan-made theme and is not affiliated with or endorsed by the rights holders.
  • The palette was sampled from promotional poster artwork for the film.
  • All seven wallpapers are original artwork. No frames, stills, or poster assets from the film are redistributed here. Five plates are built on images generated locally with FLUX.1-schnell (Apache-2.0, so the outputs carry no redistribution restriction); the blinds, the cube, the reticles, the readout type and the lockup are drawn over them with pycairo, and the scramble-suit plate is fully procedural.

Reproducing the wallpapers

Everything in tools/ runs standalone.

ScriptProduces
flux_gen.pythe FLUX bases (needs a ComfyUI endpoint on :8188 with flux1-schnell-fp8.safetensors)
wp01_blinds.py01 — blinds, pried gap and lockup over the faces plate
wp02_scramble.py02 — fully procedural, three parallax planes
wp04_scanner.py04 — wireframe cube and readout over the room plate
wp_plates.py03, 05, 06, 07 — grading of the remaining FLUX plates
contact_sheet.py, preview.pythe two images in this README

flux_gen.py renders at 1920x1088 and the plates are upscaled with ImageMagick Lanczos. That is deliberate: FLUX tokenises at 16px, so a native 3840x2160 pass is roughly an order of magnitude more attention working set, and on a unified-memory host that allocation competes with the OS.

Licence

MIT.