summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Santiago <[email protected]>2025-06-25 11:00:14 -0300
committerLeonardo Santiago <[email protected]>2025-06-25 11:00:14 -0300
commita3837014fa3a6170fa9a0ec55ec84c64553086e0 (patch)
treec19fb155cea6cea6991d9569f931868fece73fed
parent86c10fcefc6f91fa1960a626715a7d04e7013ba0 (diff)
fix: make automatic authentication with fprintd work again
-rw-r--r--modules/gnome/fingerprint_auth.nix27
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/gnome/fingerprint_auth.nix b/modules/gnome/fingerprint_auth.nix
new file mode 100644
index 0000000..5e6fd2e
--- /dev/null
+++ b/modules/gnome/fingerprint_auth.nix
@@ -0,0 +1,27 @@
+{ config, lib, pkgs, ... } : let
+ cfg = config.santi-modules.gnome;
+in {
+ config = lib.mkIf cfg.enable {
+ security.pam.services.login.fprintAuth = false;
+ # similarly to how other distributions handle the fingerprinting login
+ security.pam.services.gdm-fingerprint = lib.mkIf (config.services.fprintd.enable) {
+ text = ''
+ auth required pam_shells.so
+ auth requisite pam_nologin.so
+ auth requisite pam_faillock.so preauth
+ auth required ${pkgs.fprintd}/lib/security/pam_fprintd.so
+ auth optional pam_permit.so
+ auth required pam_env.so
+ auth [success=ok default=1] ${pkgs.gnome.gdm}/lib/security/pam_gdm.so
+ auth optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so
+
+ account include login
+
+ password required pam_deny.so
+
+ session include login
+ session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
+ '';
+ };
+ };
+}