Veila

Introduction

Veila is a secure, elegant, low-latency, Wayland-first screen locker written in Rust.

It is built for wlroots-style compositors - Hyprland, Sway, Niri, Labwc, MangoWC, and others - around one guiding rule: the secure lock path must stay small, predictable, and fast.

Veila is designed to feel modern and polished without turning the lockscreen into a heavy UI stack. The visual side aims for an intentional, refined look, but the implementation stays minimal enough that styling and effects do not define the performance profile of the secure lock path.

Veila is not a fullscreen window pretending to be a lockscreen. It is a compositor-aware application that uses the Wayland session-lock protocol and a dedicated daemon to manage lock, authentication, and unlock state.

Features

Secure by Design

Built around the secure Wayland lock path, not a fake fullscreen window. Authentication comes first, theming and visual polish layer on top.

Locks Instantly

Locks immediately. Visual effects and widgets are preloaded so nothing causes hiccups the moment your session locks.

Multi-Monitor Aware

Every monitor is treated as a first-class citizen. No stretched bitmaps, no visual inconsistencies even across different resolutions.

No heavy UI toolkit

Modern look, no bloated UI stack behind it. Just a clean and lightweight lockscreen.

Visual Customization

Keep it simple or make it your own. Wallpapers, blur, colors, widgets and layout options are all there when you want them.

Theme Presets and Custom Themes

Veila comes with ready-made themes, but you can create your own if you want more control. You can switch themes easily and still change small details in your main config.

Hot Reload

Tweak your config or theme and reload without restarting daemon.

Screenshot

Render preview screenshots, test themes without locking your session. Useful for development.

Compositor Support

Hyprland, Sway, Niri, Labwc, MangoWC, and others. Compositors like GNOME, KDE, and other desktop environment compositors are out of scope.

What's Next

On this page