Sync your Omarchy theme accent color or wallpaper average color to a WLED device in real time.
Written in Go — installs as a single static binary with no runtime dependencies.
# Via AUR (recommended — no Python or pip required)
yay -S omarchy-wled
# Pre-built binary (linux/amd64 or linux/arm64)
# Download the latest release from https://github.com/ericdahl-dev/omarchy-wled/releases
tar xzf omarchy-wled_v*.tar.gz
install -Dm755 omarchy-wled ~/.local/bin/omarchy-wled
# Or build from source (requires Go 1.21+)
go build -o omarchy-wled .
install -Dm755 omarchy-wled ~/.local/bin/omarchy-wledomarchy-wled [options] [WLED_IP]
Options:
-source {accent,fg,foreground,bg} Color source: accent (default), fg / foreground (colors.toml `foreground` = UI font color), or bg (wallpaper average)
-brightness 0-255 LED brightness (default 255)
-saturation SCALE Saturation multiplier (0.0=greyscale, 1.0=unchanged, >1.0=boost; default 1.2 for accent, 1.0 for fg/bg)
-gradient With `-source bg`, average each wallpaper column top→bottom, then rescale those columns to one RGB per LED (γ-aware like solid `bg`)
-gradient-leds N LED count for that fade (default 0 = read from WLED `/json/info`)
-once Send once and exit
-v, -version Print version and exit (release builds show tag, e.g. v1.2.3)# Watch for theme changes, use accent color
omarchy-wled 192.168.1.50
# Use foreground (font) color
omarchy-wled 192.168.1.50 -source fg
# Use wallpaper average color at 80% brightness
omarchy-wled 192.168.1.50 -source bg -brightness 200
# Column-averaged wallpaper (full height per column) resampled to each LED left→right
omarchy-wled 192.168.1.50 -source bg -gradient
# Boost saturation (accent already defaults to 1.2)
omarchy-wled 192.168.1.50 -saturation 1.5
# Send once and exit
omarchy-wled 192.168.1.50 -onceSettings can be saved to ~/.config/omarchy-wled/config.toml so you don't need
to pass flags every time (e.g. after setting up via omarchy-wled tui):
ip = "192.168.1.50"
source = "accent"
brightness = 255
saturation = 1.2
# Optional (bg + gradient); omit gradient_leds or set 0 to query WLED for strip length
# gradient = true
# gradient_leds = 120cp omarchy-wled@.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now omarchy-wled@192.168.1.50To pass extra flags (e.g. -source bg -brightness 200), edit the service file's ExecStart line.
Interactive configuration (and optional systemd user autostart) via Bubble Tea:
omarchy-wled tui