Wallpaper-aware theme & RGB sync for Windows. Change wallpaper — everything follows.
Change wallpaper → matugen generates Material You palette → syncs to:
| Category | Targets |
|---|---|
| RGB Hardware | OpenRGB motherboard + DDR5 RAM + fans, MAD68 HE keyboard, Govee LEDs |
| Discord | Vencord custom theme |
| Spotify | Spicetify theme |
| Steam | Millennium skin |
| Brave | Custom theme |
| Terminal | Windows Terminal scheme |
| Launcher | Flow Launcher theme |
| Code | OpenCode theme |
- Install
matugen:cargo install matugen pip install -r requirements.txtmatugen-sync --init- Edit
~/.config/matugen-sync/config.json - Run
matugen-sync <wallpaper.jpg>
- Install OpenRGB 1.0rc3+ (portable to
%LOCALAPPDATA%\OpenRGB\) - Run
setup_openrgb.batas admin — creates a scheduled task that launches OpenRGB server at logon - Run
matugen-sync --list-devicesto detect your hardware - Configure per-device calibration in
config.json(hue_shift, saturation, lightness)
Connects via HID protocol (PID 0x1058). Must be in Customization mode.
Uses Home Assistant REST API. Configure token and entity IDs in ~/.config/govee-led.json.
Run matugen-sync --create-startup-link once — creates a startup script that:
- Waits 10s for OpenRGB server to start
- Waits up to 30s for all devices to be detected
- Syncs all RGB to current wallpaper colors
- Exits
matugen_sync/
__main__.py CLI entry point
colors.py Calls matugen binary for M3 palette
config.py Config dataclass
rgb.py OpenRGB SDK + MAD68 HID
govee.py Home Assistant REST client
templates.py Jinja2 template renderer
templates/ Jinja2 templates
setup_openrgb.bat Admin scheduled task for OpenRGB server
- SETUP.md — Full Windows installation guide
- ARCHITECTURE.md — Technical design decisions