Skip to content

About

Sync Omarchy theme accent or wallpaper color to a WLED device

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

omarchy-wled

CI AUR version License: MIT

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.

Install

# 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-wled

Usage

omarchy-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)

Examples

# 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 -once

Configuration

Settings 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 = 120

Auto-start (systemd)

cp omarchy-wled@.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now omarchy-wled@192.168.1.50

To pass extra flags (e.g. -source bg -brightness 200), edit the service file's ExecStart line.

TUI configurator

Interactive configuration (and optional systemd user autostart) via Bubble Tea:

omarchy-wled tui

About

Sync Omarchy theme accent or wallpaper color to a WLED device

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages