From 7b301d1f330130fde8c798f2a879c7ce1cf7706b Mon Sep 17 00:00:00 2001 From: Sebastian Sellmeier Date: Sun, 16 Apr 2023 21:32:52 +0200 Subject: [PATCH] swaylock-fprintd: init at unstable-20230130 --- .../window-managers/sway/lock-fprintd.nix | 80 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 81 insertions(+) create mode 100644 pkgs/applications/window-managers/sway/lock-fprintd.nix diff --git a/pkgs/applications/window-managers/sway/lock-fprintd.nix b/pkgs/applications/window-managers/sway/lock-fprintd.nix new file mode 100644 index 000000000000000..db134d5f00ec54f --- /dev/null +++ b/pkgs/applications/window-managers/sway/lock-fprintd.nix @@ -0,0 +1,80 @@ +{ lib +, stdenv +, fetchFromGitHub +, meson +, ninja +, pkg-config +, scdoc +, wayland-scanner +, wayland +, wayland-protocols +, libxkbcommon +, cairo +, gdk-pixbuf +, pam +, glib +, dbus +, fprintd +, unstableGitUpdater +}: + +stdenv.mkDerivation rec { + pname = "swaylock-fprintd"; + version = "unstable-20230130"; + + src = fetchFromGitHub { + owner = "SL-RU"; + repo = "swaylock-fprintd"; + rev = "ffd639a785df0b9f39e9a4d77b7c0d7ba0b8ef79"; + hash = "sha256-2VklrbolUV00djPt+ngUyU+YMnJLAHhD+CLZD1wH4ww="; + }; + + postPatch = '' + substituteInPlace fingerprint/meson.build --replace \ + '/usr/share/dbus-1/interfaces/net.reactivated.Fprint' \ + '${fprintd}/share/dbus-1/interfaces/net.reactivated.Fprint' + ''; + + strictDeps = true; + depsBuildBuild = [ pkg-config ]; + nativeBuildInputs = [ + pkg-config + glib + meson + ninja + pkg-config + scdoc + wayland-scanner + ]; + buildInputs = [ + wayland + wayland-protocols + libxkbcommon + cairo + gdk-pixbuf + pam + dbus + ]; + + mesonFlags = [ + "-Dpam=enabled" "-Dgdk-pixbuf=enabled" "-Dman-pages=enabled" + ]; + + passthru.updateScript = unstableGitUpdater {}; + + meta = with lib; { + description = "Screen locker for Wayland with fingerprint support via fprintd"; + longDescription = '' + swaylock-fprintd is a fork of swaylock, a screen locking utility for Wayland compositors, + with fingerprint support via fprintd. It is compatible with any Wayland compositor which + implements the ext-session-lock-v1 Wayland protocol. + Important note: If you don't use the Sway module (programs.sway.enable) + you need to set "security.pam.services.swaylock = {};" manually. + ''; + inherit (src.meta) homepage; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ lilyinstarlight sebtm ]; + mainProgram = "swaylock"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 83816ea12149c52..7bc6ff084e93522 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31265,6 +31265,7 @@ with pkgs; swayidle = callPackage ../applications/window-managers/sway/idle.nix { }; swaylock = callPackage ../applications/window-managers/sway/lock.nix { }; swayosd = callPackage ../applications/window-managers/sway/osd.nix { }; + swaylock-fprintd = callPackage ../applications/window-managers/sway/lock-fprintd.nix { }; swayws = callPackage ../applications/window-managers/sway/ws.nix { }; swaywsr = callPackage ../applications/window-managers/sway/wsr.nix { }; sway-contrib = recurseIntoAttrs (callPackages ../applications/window-managers/sway/contrib.nix { });