mirror of
https://github.com/hyprwm/hyprlock.git
synced 2024-12-22 13:29:48 +01:00
f48540fcd4
* auth: Support parallel fingerprint auth I chose to use Fprint's dbus interface directly rather than going through pam (which uses Fprint's dbus interface) due to poor handling of system sleep somewhere between fprintd and pam. When preparing for sleep, fprintd puts the device to sleep, which causes VerifyStatus to emit with verify-unknown-error, which normally should be responded to by calling both Device.StopVerify and Device.Release (and this is what pam does). Unfortunately, if you try to release the device when the system is preparing for sleep, you'll get an error that the device is busy and then you can't can't claim or release the device for 30 seconds. pam also has a max timeout for pam_fprintd.so of 99 seconds, and so if we used pam, we'd have to deal with the timeouts and keep restarting the auth conversation. gdm/gnome-session lock seems to get around these issues by having a shutter on top of the lock screen that you have to interact with first that gives gnome-session a trigger to start fingerprint auth. * nix/overlays: add sdbus overlay --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
63 lines
878 B
Nix
63 lines
878 B
Nix
{
|
|
lib,
|
|
stdenv,
|
|
cmake,
|
|
pkg-config,
|
|
cairo,
|
|
file,
|
|
libdrm,
|
|
libGL,
|
|
libjpeg,
|
|
libwebp,
|
|
libxkbcommon,
|
|
mesa,
|
|
hyprlang,
|
|
hyprutils,
|
|
pam,
|
|
pango,
|
|
sdbus-cpp,
|
|
systemdLibs,
|
|
wayland,
|
|
wayland-protocols,
|
|
wayland-scanner,
|
|
version ? "git",
|
|
}:
|
|
stdenv.mkDerivation {
|
|
pname = "hyprlock";
|
|
inherit version;
|
|
|
|
src = ../.;
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
pkg-config
|
|
wayland-scanner
|
|
];
|
|
|
|
buildInputs = [
|
|
cairo
|
|
file
|
|
libdrm
|
|
libGL
|
|
libjpeg
|
|
libwebp
|
|
libxkbcommon
|
|
mesa
|
|
hyprlang
|
|
hyprutils
|
|
pam
|
|
pango
|
|
sdbus-cpp
|
|
systemdLibs
|
|
wayland
|
|
wayland-protocols
|
|
];
|
|
|
|
meta = {
|
|
homepage = "https://github.com/hyprwm/hyprlock";
|
|
description = "A gpu-accelerated screen lock for Hyprland";
|
|
license = lib.licenses.bsd3;
|
|
platforms = lib.platforms.linux;
|
|
mainProgram = "hyprlock";
|
|
};
|
|
}
|