{ config, lib, ... }: with lib; mkIf (elem "fprintd" config.machine.services) { security.pam.services = let unlock = [ "sudo" "i3lock" "login" "lightdm" ]; in listToAttrs (forEach unlock (n: {name = n; value = { fprintAuth = true; }; })); services.fprintd = { enable = true; }; }