Veila
Installation

Build from Source

Compile from a local checkout on Arch, Debian, Ubuntu

On Arch-based systems:

sudo pacman -S --needed rust pkg-config pam wayland libxkbcommon

On Debian/Ubuntu-based systems:

sudo apt install cargo pkg-config libpam0g-dev libwayland-dev libxkbcommon-dev

Build

git clone https://github.com/naurissteins/Veila.git
cd Veila
cargo build --locked --release --workspace

The compiled binaries will be in target/release/:

BinaryRole
veilaControl CLI - lock, reload, inspect status, and manage themes
veila-curtainMinimal session-lock client - acquires lock surfaces on all outputs
veiladDaemon - owns lock lifecycle, logind integration, and auth

Install

Copy the binaries to a location on your PATH:

sudo cp target/release/veila target/release/veila-curtain target/release/veilad /usr/local/bin/

Install the CLI man page if you want man veila locally:

sudo install -Dm644 docs/man/veila.1 /usr/local/share/man/man1/veila.1

Packagers who install the assets outside /usr/share/veila can point the binaries at the packaged asset directory with VEILA_ASSET_DIR:

VEILA_ASSET_DIR=/path/to/share/veila veilad

First Launch

Start the daemon

veilad

Or start veilad from your compositor config:

exec-once = veilad

Lock directly from the CLI:

veila lock

Example keybind for Hyprland:

bind = SUPER, Escape, exec, veila lock

That is enough to get started. It works out of the box, and no extra configuration is required for a basic setup.

You do not need to go through the full configuration reference just to make small changes. For simple tweaks like changing the wallpaper, avatar, clock or date format, or a few widget options, start with the default theme or pick another theme you like and follow the instructions on that theme page.

On this page