How to use fingerprint unlocking - How to set up Fprintd (English)

Hello, Recently I went into the “world” NixOS, and at first I had difficulties to be able to use screen unlock ing with the fingerprint sensor of my notebook, after much difficulty and the union of several solutions, I came to the following result that I come to share with you.

At first we need to install the fprintd package as follows;

Nix-env:

On NixOS:

nix-env -iA nixos.fprintd

On Non NixOS:

nix-env -iA nixpkgs.fprintd

NixOS Configuration:

environment.systemPackages = [

pkgs.fprintd

];

With this we must configure the following lines in NixOS Configuration;

services.fprintd.enable = true;

services.fprintd.tod.enable = true;

services.fprintd.tod.driver = pkgs.libfprint-2-tod1-vfs0090; (If the vfs0090 Driver does not work, use the following driver)

services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix; (On my device it only worked with this driver)

Finally, we must rotate one:

sudo nixos-rebuild switch

When you restart the system, the fingerprint option will appear in the user password menu, so it can be configured.

1 Like

I strongly suspect there’s no point in installing fprintd with nix-env, as all that really does is get the command into PATH, which doesn’t actually help with unlocking your screen.

Furthermore, the NixOS module for it automatically adds it to environment.systemPackages, so there’s no need to do that either.

Also, the text in parentheses in the quoted configuration snippet would cause parse errors if pasted directly. It seems like you meant only one of the tod.driver lines to be included, but didn’t translate the text describing the conditions.

The directions can be boiled down to something like this:

Add this to your configuration.nix if (whatever that means in the first parentheses)

services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-vfs0090;

Add this to your configuration.nix if (whatever that means in the second parentheses)

services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;

(To be clear, I still don’t know if these directions actually work, as I haven’t tested them and don’t have the hardware to do so.)

3 Likes

Thanks for the considerations, I performed the translation of the parentheses, I’m new with the nixOS distribution, I hope my post helps others who can test.

Hosted by Flying Circus.