{ lib, pkgs, config, ... }: let inherit (lib.modules) mkIf mkForce; in { services.fprintd.enable = true; security.sudo.wheelNeedsPassword = mkForce true; security.pam.services = { sudo.fprintAuth = true; login.fprintAuth = true; gdm-fingerprint = mkIf config.services.xserver.displayManager.gdm.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 ''; }; }; }