⚠️ Work In Progress
This project is currently under active development. Features may be incomplete or subject to change.
A desktop wallpaper manager built with Tauri, SvelteKit, and TypeScript, designed for Wayland/Hyprland environments.
This application is specifically designed for:
Download the latest release from the Releases page
# Download the binary
wget https://github.com/asce4s/wallity/releases/latest/download/wallity-linux-x86_64
# Make it executable
chmod +x wallity-linux-x86_64
# Run it
./wallity-linux-x86_64
# Or install to PATH
sudo mv wallity-linux-x86_64 /usr/local/bin/wallity
# Download, make executable, and run
chmod +x wallity_*_amd64.AppImage
./wallity_*_amd64.AppImage
# Install with dpkg
sudo dpkg -i wallity_*_amd64.deb
# Or install with apt (handles dependencies)
sudo apt install ./wallity_*_amd64.deb
# Fedora
sudo dnf install wallity-*.x86_64.rpm
# RHEL/CentOS
sudo rpm -i wallity-*.x86_64.rpm
# openSUSE
sudo zypper install wallity-*.x86_64.rpm
# Extract and run
tar -xzf wallity_*.tar.gz
cd wallity
./wallity
Clone the repository:
git clone https://github.com/asce4s/wallity.git
cd wallity
Install dependencies:
bun install
Build the application:
bun run tauri build
The built binary will be available at src-tauri/target/release/wallity
(Optional) Copy the binary to your PATH:
sudo cp src-tauri/target/release/wallity /usr/local/bin/
hyprpaperswwwCreate the config directory:
mkdir -p ~/.config/wallity
(Optional) Create a config file ~/.config/wallity/wallity.toml with your settings (see Configuration section below)
Ensure you have wallpapers in ~/Pictures/wallpapers or configure a custom path in the config file
cargo)# Arch Linux / Manjaro
sudo pacman -S webkit2gtk base-devel curl wget file openssl appmenu-gtk-module gtk3 libappindicator-gtk3 librsvg libvips
# Ubuntu / Debian
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
Clone the repository:
git clone https://github.com/yourusername/wallity.git
cd wallity
Install dependencies:
bun install
# Run with hot-reload (recommended for development)
bun run tauri dev
This will start both the SvelteKit dev server and the Tauri application with hot-reload enabled.
# Build the application
bun run tauri build
The built application will be available in src-tauri/target/release/.
# Run SvelteKit dev server only (for frontend development)
bun run dev
# Build frontend only
bun run build
# Type checking
bun run check
# Type checking with watch mode
bun run check:watch
The application reads configuration from ~/.config/wallity/wallity.toml. If the file doesn't exist, default values will be used.
~/.config/wallity/wallity.toml
Create or edit the config file with the following options:
# Path to the directory containing your wallpapers
# Default: ~/Pictures/wallpapers
wallpaper_path = "~/Pictures/wallpapers"
# Path where the current wallpaper symlink will be created
# This symlink points to the currently selected wallpaper
# Default: ~/.config/wallity/.current_wallpaper
current_wallpaper = "~/.config/wallity/.current_wallpaper"
# Script to execute after setting a wallpaper
# For Hyprland, you might use: hyprctl hyprpaper wallpaper "eDP-1,~/.config/wallity/.current_wallpaper"
# Default: "" (empty)
post_script = ""
# Directory where thumbnail cache is stored
# Default: ~/.cache/wallity/thumbnails
cache_path = "~/.cache/wallity/thumbnails"
wallpaper_path = "~/Pictures/wallpapers"
current_wallpaper = "~/.config/wallity/.current_wallpaper"
post_script = "hyprctl hyprpaper wallpaper 'eDP-1,~/.config/wallity/.current_wallpaper'"
cache_path = "~/.cache/wallity/thumbnails"
wallpaper_path = "~/Pictures/wallpapers"
current_wallpaper = "~/.config/wallity/.current_wallpaper"
post_script = "swww img ~/.config/wallity/.current_wallpaper"
cache_path = "~/.cache/wallity/thumbnails"
~) expansion for home directorypost_script is executed after the wallpaper symlink is createdThis project is open source and available under the MIT License.