Fingerprint scanner: Difference between revisions
m Add gnome pre-text |
m syntax for code block updates |
||
| (7 intermediate revisions by 7 users not shown) | |||
| Line 2: | Line 2: | ||
== Install == | == Install == | ||
{{File|3={ config, lib, pkgs, ... }: { | |||
} | |||
# Install the driver | # Install the driver | ||
services.fprintd.enable = true; | services.fprintd.enable = true; | ||
# If simply enabling fprintd is not enough, try enabling fprintd.tod... | # If simply enabling fprintd is not enough, try enabling fprintd.tod... | ||
services.fprintd.tod.enable = true; | services.fprintd.tod.enable = true; | ||
# ...and use one of the next four drivers | # ...and use one of the next four drivers | ||
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix; # Goodix driver module | services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix; # Goodix driver module | ||
# services.fprintd.tod.driver = pkgs.libfprint-2-tod1-elan # Elan(04f3:0c4b) driver | # services.fprintd.tod.driver = pkgs.libfprint-2-tod1-elan; # Elan(04f3:0c4b) driver | ||
# services.fprintd.tod.driver = pkgs.libfprint-2-tod1-vfs0090; # driver for 2016 ThinkPads | # services.fprintd.tod.driver = pkgs.libfprint-2-tod1-vfs0090; # (Marked as broken as of 2025/04/23!) driver for 2016 ThinkPads | ||
# services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix-550a # Goodix 550a driver (from Lenovo) | # services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix-550a; # Goodix 550a driver (from Lenovo) | ||
# however for focaltech 2808:a658, use fprintd with overidden package (without tod) | |||
# services.fprintd.package = pkgs.fprintd.override { | |||
# libfprint = pkgs.libfprint-focaltech-2808-a658; | |||
# }; | |||
}|name=/etc/nixos/configuration.nix|lang=nix}} | |||
== Enroll fingerprint == | == Enroll fingerprint == | ||
| Line 25: | Line 24: | ||
=== CLI === | === CLI === | ||
<syntaxhighlight lang="bash">$ | <syntaxhighlight lang="bash">$ fprintd-enroll</syntaxhighlight> | ||
=== Gnome === | === Gnome === | ||
| Line 40: | Line 39: | ||
security.pam.services.login.fprintAuth = false; | security.pam.services.login.fprintAuth = false; | ||
security.pam.services.gdm-fingerprint = lib.mkIf (config.services.fprintd.enable) { | 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.gdm}/lib/security/pam_gdm.so | |||
auth optional ${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so | |||
account include login | |||
password required pam_deny.so | |||
session include login | |||
session optional ${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start | |||
''; | |||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Hardware]] | [[Category:Hardware]] | ||