Customisable, minimalist screen locker for Wayland
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Rust 86.2%
Nix 13.7%
Shell 0.1%
Other 0.1%
192 1 0

Clone this repository

https://tangled.org/nathanjgill.uk/nlock https://tangled.org/did:plc:khwj2pmtsiuijj4jnuomle37/nlock
git@tangled.org:nathanjgill.uk/nlock git@tangled.org:did:plc:khwj2pmtsiuijj4jnuomle37/nlock

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

nlock#

CI

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:

  • GitHub, primary repository for development
  • Tangled, mirrored, may become primary in the future!

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:

License#

nlock is licensed under the GNU General Public License Version 3, or later. See LICENSE for details.

Copyright (C) 2026, Nathan Gill