From e6b51a7fea50147a6148e31a7b237464ceeca943 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Tue, 30 Sep 2025 09:30:27 +0200 Subject: [PATCH] [fprintd] Add fingerprint-scanner module --- nixos/flake.nix | 1 + nixos/hosts/Tibo-NixTop/default.nix | 1 + nixos/modules/hardware/default.nix | 1 + .../hardware/fingerprint-scanner/default.nix | 30 +++++++++++++++++++ 4 files changed, 33 insertions(+) create mode 100644 nixos/modules/hardware/fingerprint-scanner/default.nix diff --git a/nixos/flake.nix b/nixos/flake.nix index 60e1025..fa8b125 100644 --- a/nixos/flake.nix +++ b/nixos/flake.nix @@ -46,6 +46,7 @@ "steam" "steam-unwrapped" "steam-run" "vista-fonts" "intel-ocl" + "libfprint-2-tod1-broadcom" ]; in utils.lib.mkFlake { diff --git a/nixos/hosts/Tibo-NixTop/default.nix b/nixos/hosts/Tibo-NixTop/default.nix index 5de8df4..9993e07 100644 --- a/nixos/hosts/Tibo-NixTop/default.nix +++ b/nixos/hosts/Tibo-NixTop/default.nix @@ -15,6 +15,7 @@ hardware = { eid.enable = true; + fingerprint-scanner.enable = true; nvidia = { enable = true; model = "Quadro T2000"; diff --git a/nixos/modules/hardware/default.nix b/nixos/modules/hardware/default.nix index 2d38b1e..238bcea 100644 --- a/nixos/modules/hardware/default.nix +++ b/nixos/modules/hardware/default.nix @@ -1,6 +1,7 @@ { imports = [ ./eid + ./fingerprint-scanner ./nvidia ./yubikey ]; diff --git a/nixos/modules/hardware/fingerprint-scanner/default.nix b/nixos/modules/hardware/fingerprint-scanner/default.nix new file mode 100644 index 0000000..b7580c6 --- /dev/null +++ b/nixos/modules/hardware/fingerprint-scanner/default.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.sisyphus.hardware.fingerprint-scanner; +in { + options.sisyphus.hardware.fingerprint-scanner.enable = lib.mkEnableOption "Fingerprint scanner support"; + + config = lib.mkIf cfg.enable { + # Enable driver + services.fprintd = { + enable = true; + + # Enable Touch OEM Drivers library support + tod = { + enable = true; + # Dell drivers + driver = pkgs.libfprint-2-tod1-broadcom; + }; + }; + + # Start driver at boot + systemd.services.fprintd = { + wantedBy = [ + "multi-user.target" + ]; + serviceConfig.Type = "simple"; + }; + }; +} +