I believe it’s something with pam, same behavior on swaylock/waylock/greetd whatsoever.
@milas I tried it out for a bit, was a bit finicky and couldn’t log in despite seeing a graphical response (text bar shaking). I left everything as is in the nixos-hardware
settings and just forced my fingerprint reader off in my main config with:
services.fprintd.enable = lib.mkForce false;
Your guess was right, I can log back in no problems! I’d rather have it off for now and figure this thing with SDDM later.
Thank you for the assist :).
EDIT: I’ve found this issue SDDM doesn't work with fingerprint login (fprintd) · Issue #239770 · NixOS/nixpkgs · GitHub basically going through the same thing for anyone interested!
Good find on the issue! I am on unstable (23.11), so based on some of the comments in that thread, it explains why fingerprint-via-SSDM works for me (albeit unintuitively - “hit enter at the blank prompt and then scan your finger without any feedback”).
FWIW unstable will imminently be stable, release schedule @ NixOS 23.11 — Release Schedule · Issue #258640 · NixOS/nixpkgs · GitHub
Random find, looks promising as an option to clear ones fingerprint for Nix users. GitHub - nixvital/fprint-clear: Quick solution to clear your fprint storage - passing along here on the dedicated thread.
@kjhoerr , thanks so much for the work on nixos hardware! Installed nixos with the hardware config yesterday and it went really well! So glad to be out of a VM
I’m having a bit of issue with the fingerprint though.
-
It shows up sporadically in Gnome’s User settings page. But I was able to enroll via fprintd-enroll in the command line.
-
On login it declares a failure without doing anything, but if I scan my fingerprint it logs me in…
-
Running sudo in the cli doesn’t prompt for a fingerprint scan. ***Update, this now shows when running sudo in the cli. (Maybe a rebuild/restart enabled this, I’m unsure.)
Happy to contribute!
This is also the behavior I see. It also prevents you from logging in with a password until a hidden timeout passes. As far as I know this is the common behavior of GDM for all devices, unless the fingerprint reader stores the pass/fail ephemerally on boot, which apparently exists on some (non-Framework) devices.
I applied the configuration here: Enabling `fprintd` prevents authentication with password in graphical applications · Issue #171136 · NixOS/nixpkgs · GitHub
It’s greatly improved the fingerprint login/unlock experience, GDM and the lock screen now present a password entry immediately, appended by “(or place finger on reader)”. No timeouts to wait for.
I’ve got it working nicely after updating the goodix fingeprint reader using windows in a VM (under virt-manager) and enabling passthrough.
Just wondering if anyone has managed to get the fingerprint scanner working on nixos? (I have an AMD 13)
(Edit: I should have read the above first…)
(Second edit: after looking further above looks like my issue is still relevant, My scanner cant be found.)
I get this when I run fprintd-enroll,
“Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available”
But I got it to work using fedora previously, and have the goodix driver in my config.
Any ideas?
This fixed it for me as well.
Do you think this should be added to the nixos hardware git repo?
If it’s not Framework-specific (and it doesn’t look like it is), it should probably go into mainline NixOS or even Nixpkgs.
Agreed. There’s already a linked PR for nixpkgs.
This one seems a good candidate for inclusion in nixos-hardware. Could you propose it there?
@uwelaf I had to spin up a vm, install windows, run the official framework’s firmware update tool, stop it in the middle of execution and getting the extracted files from the temp dir.
The extracted files have the goodix update tool so then I mounted the fingerprint reader on the windows vm and updated it there.
Reboot and now linux sees the fingerprint reader.
Moving the firmware / patch discussion portion of Framework NixOS (Linux) users self-help to keep things easier to navigate.
After switching from Manjaro to Nix on my Intel 12th gen, I’m getting the “No devices available” error when enrolling fingerprints. I’ve tried clearing the old fingerprints, updating the firmware (even though the guide said it’s only needed for 13th gen and AMD), nothing is working.
My config contains:
services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
security.pam.services.login.fprintAuth = true;
Any ideas?
I think the tod stuff breaks it. Here’s my config: nix/foxtrot.nix at 1d192f702c079e9d4cd2bd7c6e7d02d0e3836feb - nix - git.lyte.dev
Edit: please disregard. I’m on AMD! Sorry!
Edit 2: though it looks like you might try it? The module from nixos-hardware for your main board doesn’t seem to include the tod stuff. https://github.com/NixOS/nixos-hardware/blob/master/framework/13-inch/12th-gen-intel/default.nix
Thanks! It works now
This was a nix issue, you just don’t specify the driver and it works.