nixcfg/nixosModules/desktopConfig/desktopEnvironments/gnome/fprintdFix.nix

38 lines
1.5 KiB
Nix
Raw Normal View History

2024-04-07 22:16:33 -04:00
{
pkgs,
lib,
config,
...
}: {
options = {
2024-04-05 16:43:19 -04:00
desktopConfig.desktopEnvironments.gnome.fprintdFix.enable =
lib.mkEnableOption
2024-03-28 16:40:23 -04:00
"Fixes fprintd and pam issues with GNOME Display Manager.";
};
2024-04-07 22:16:33 -04:00
config = lib.mkIf config.desktopConfig.desktopEnvironments.gnome.fprintdFix.enable {
# Need to change the order pam loads its modules
# to get proper fingerprint behavior on GDM and the lockscreen.
security.pam.services.login.fprintAuth = false;
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
2024-04-07 22:16:33 -04:00
account include login
2024-04-07 22:16:33 -04:00
password required pam_deny.so
2024-04-07 22:16:33 -04:00
session include login
session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
'';
2024-04-05 16:43:19 -04:00
};
2024-04-07 22:16:33 -04:00
};
2024-03-28 16:40:23 -04:00
}