Merge pull request #117928 from ymatsiuk/fprintd-tod
nixos/fprintd: add TOD support
This commit is contained in:
commit
ffd29c76f6
@ -5,6 +5,7 @@ with lib;
|
|||||||
let
|
let
|
||||||
|
|
||||||
cfg = config.services.fprintd;
|
cfg = config.services.fprintd;
|
||||||
|
fprintdPkg = if cfg.tod.enable then pkgs.fprintd-tod else pkgs.fprintd;
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
@ -17,25 +18,30 @@ in
|
|||||||
|
|
||||||
services.fprintd = {
|
services.fprintd = {
|
||||||
|
|
||||||
enable = mkOption {
|
enable = mkEnableOption "fprintd daemon and PAM module for fingerprint readers handling";
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to enable fprintd daemon and PAM module for fingerprint readers handling.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.fprintd;
|
default = fprintdPkg;
|
||||||
defaultText = "pkgs.fprintd";
|
defaultText = "if cfg.tod.enable then pkgs.fprintd-tod else pkgs.fprintd";
|
||||||
description = ''
|
description = ''
|
||||||
fprintd package to use.
|
fprintd package to use.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
tod = {
|
||||||
|
|
||||||
|
enable = mkEnableOption "Touch OEM Drivers library support";
|
||||||
|
|
||||||
|
driver = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
example = literalExample "pkgs.libfprint-2-tod1-goodix";
|
||||||
|
description = ''
|
||||||
|
Touch OEM Drivers (TOD) package to use.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -49,6 +55,10 @@ in
|
|||||||
|
|
||||||
systemd.packages = [ cfg.package ];
|
systemd.packages = [ cfg.package ];
|
||||||
|
|
||||||
|
systemd.services.fprintd.environment = mkIf cfg.tod.enable {
|
||||||
|
FP_TOD_DRIVERS_DIR = "${cfg.tod.driver}${cfg.tod.driver.driverPath}";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-goodix/+git/libfprint-2-tod1-goodix";
|
url = "https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-goodix/+git/libfprint-2-tod1-goodix";
|
||||||
rev = "882735c6366fbe30149eea5cfd6d0ddff880f0e4"; # droped-lp1880058 on 20202-11-25
|
rev = "882735c6366fbe30149eea5cfd6d0ddff880f0e4"; # droped-lp1880058 on 2020-11-25
|
||||||
sha256 = "sha256-Uv+Rr4V31DyaZFOj79Lpyfl3G6zVWShh20roI0AvMPU=";
|
sha256 = "sha256-Uv+Rr4V31DyaZFOj79Lpyfl3G6zVWShh20roI0AvMPU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -18,13 +18,15 @@ stdenv.mkDerivation {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p "$out/usr/lib/libfprint-2/tod-1/"
|
mkdir -p "$out/lib/libfprint-2/tod-1/"
|
||||||
mkdir -p "$out/usr/lib/udev/rules.d/"
|
mkdir -p "$out/lib/udev/rules.d/"
|
||||||
|
|
||||||
cp usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-53xc-$version.so "$out/usr/lib/libfprint-2/tod-1/"
|
cp usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-53xc-$version.so "$out/lib/libfprint-2/tod-1/"
|
||||||
cp lib/udev/rules.d/60-libfprint-2-tod1-goodix.rules "$out/usr/lib/udev/rules.d/"
|
cp lib/udev/rules.d/60-libfprint-2-tod1-goodix.rules "$out/lib/udev/rules.d/"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.driverPath = "/lib/libfprint-2/tod-1";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Goodix driver module for libfprint-2-tod Touch OEM Driver";
|
description = "Goodix driver module for libfprint-2-tod Touch OEM Driver";
|
||||||
homepage = "https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-goodix/+git/libfprint-2-tod1-goodix/";
|
homepage = "https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-goodix/+git/libfprint-2-tod1-goodix/";
|
||||||
|
Loading…
Reference in New Issue
Block a user