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 libxkbcommonOn Debian/Ubuntu-based systems:
sudo apt install cargo pkg-config libpam0g-dev libwayland-dev libxkbcommon-devBuild
git clone https://github.com/naurissteins/Veila.git
cd Veila
cargo build --locked --release --workspaceThe compiled binaries will be in target/release/:
| Binary | Role |
|---|---|
veila | Control CLI - lock, reload, inspect status, and manage themes |
veila-curtain | Minimal session-lock client - acquires lock surfaces on all outputs |
veilad | Daemon - 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.1Packagers 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 veiladFirst Launch
Start the daemon
veiladOr start veilad from your compositor config:
exec-once = veiladLock directly from the CLI:
veila lockExample keybind for Hyprland:
bind = SUPER, Escape, exec, veila lockThat 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.