trivionomicon: athena-bccr: add idopte cache server
This commit is contained in:
parent
dd366aa20e
commit
f7ec31843d
1 changed files with 37 additions and 4 deletions
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
cfg,
|
||||
|
|
@ -51,11 +52,43 @@ in {
|
|||
services = {
|
||||
pcscd.enable = true;
|
||||
|
||||
udev.extraRules = ''
|
||||
udev.extraRules =
|
||||
lib.optionalString (vendor == "athena") ''
|
||||
# Athena Smartcard Solutions, Inc. ASEDrive V3CR
|
||||
ATTRS{idVendor}=="0dc3", ATTRS{idProduct}=="1004", MODE="660", GROUP="${cfg.group}", TAG+="uaccess"
|
||||
''
|
||||
+ lib.optionalString (vendor == "idopte") ''
|
||||
# Bit4id Srl miniLector-s
|
||||
ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="25dd/1101*", RUN+="${config.systemd.package}/bin/systemctl start --no-block idopte-reader.target"
|
||||
ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="25dd/1101*", RUN+="${config.systemd.package}/bin/systemctl stop --no-block idopte-reader.target"
|
||||
'';
|
||||
};
|
||||
|
||||
systemd = lib.mkIf (vendor == "idopte") {
|
||||
#TODO: make this run as a non-root user
|
||||
services.idopte-cache = {
|
||||
description = "Idopte cache server";
|
||||
|
||||
after = ["smartcard.target"];
|
||||
bindsTo = ["idopte-reader.target"];
|
||||
wantedBy = ["idopte-reader.target"];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
PIDFile = "/run/idoCacheSrv.pid";
|
||||
RuntimeDirectory = "idoss";
|
||||
|
||||
ExecStart = "${scmiddleware}/idocachesrv";
|
||||
};
|
||||
};
|
||||
|
||||
targets.idopte-reader = {
|
||||
description = "Idopte USB reader inserted";
|
||||
|
||||
wants = ["smartcard.target"];
|
||||
before = ["smartcard.target"];
|
||||
};
|
||||
};
|
||||
|
||||
users.groups.${cfg.group} = {};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue