nlock#
nlock is a customisable, minimalist screen locker for Wayland compositors.
nlock uses the ext-session-lock-v1 protocol, and should be compatible with
any compositor that correctly implements it.
Mirrors#
nlock source code can be found in a couple of places:
Usage#
See the documentation.
Building#
nlock is written in Rust, and uses Cargo as it's build system. It should compile with the latest stable Rust, I haven't tested older versions.
In addition, you'll need development libraries for the following, which can probably be installed via your system package manager:
- Clang
- GLib
- GDK-Pixbuf
- PAM
- Cairo
- xkbcommon
With all of that, you should just be able to clone this repository, and run:
$ cargo build --release
The generated binary should then be located at target/release/nlock.
IMPORTANT: You may need to copy the PAM configuration for nlock into
/etc/pam.d on your system. The configuration can be found in the pam
directory of this repository.
Credits#
Several other projects have been very helpful during development of nlock:
- swaylock - rendering with Cairo, and general architecture.
- where-is-my-sddm-theme - the SDDM theme that nlock is based on.
License#
nlock is licensed under the GNU General Public License Version 3, or later. See LICENSE for details.
Copyright (C) 2026, Nathan Gill