{ 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; }; }