Vellum is a Wayland wallpaper stack with:
vellum-daemon: the wallpaper daemon that talks to Wayland and applies images.vellum: the TUI client for browsing images, configuring playlist behavior, and controlling runtime.
The daemon side of Vellum was heavily adapted and stripped down from the awww code base on Codeberg. That foundation saved a large amount of work and made this project much less rough to bring together. Thanks to the awww authors and maintainers for the original code base and the ideas behind it.
paru -S vellumVellum is designed to be session-safe and reboot-friendly:
- The daemon restores last applied wallpapers from durable state on startup, and keeps animation frame data in the cache.
- Favorites and playlist settings are persisted in XDG state.
- Launching
vellumwithout a TTY (for example from compositor startup) runs a lightweight bootstrap path that ensures daemon + playlist worker startup.
Add this to your Hyprland config:
exec-once = vellumThis is enough for startup bootstrap on login. Open vellum from a terminal when you want the interactive TUI.
Install the unit file from:
packaging/systemd/user/vellum-daemon.service
Then enable it:
systemctl --user enable --now vellum-daemon.serviceThis keeps vellum-daemon alive across your user session and auto-restarts on failure.
Install:
packaging/autostart/vellum.desktop
to:
~/.config/autostart/(per-user), or/etc/xdg/autostart/(system-wide).
vellum-daemon restores previous per-output wallpapers from durable state by default.
Vellum stores state in XDG locations:
XDG_STATE_HOME/vellum/wallpaper-state-v1/XDG_STATE_HOME/vellum/playlist-state-v1.txtXDG_STATE_HOME/vellum/favorites-v1.txt
Fallback path when XDG_STATE_HOME is not set:
~/.local/state/vellum/
Cache path:
XDG_CACHE_HOME/vellum/(or~/.cache/vellum/)- Wallpaper animation frames stay cached under the versioned cache directory inside that path.
- Run
vellumin a terminal to open the TUI. - Use
rto restart/reload daemon handling from the TUI when needed. - Apply wallpapers and playlist settings; state and cache are reused after reboot.