diff --git a/modules/nixos/desktop/canokey.nix b/modules/nixos/desktop/canokey.nix index ebc5cd58..cba61865 100644 --- a/modules/nixos/desktop/canokey.nix +++ b/modules/nixos/desktop/canokey.nix @@ -2,7 +2,6 @@ pkgs, config, lib, - myvars, ... }: let @@ -14,27 +13,9 @@ in }; config = lib.mkIf cfg.enable { + # systemd tags FIDO/CCID devices uaccess (60-fido-id.rules); pcscd covers OpenPGP. services.pcscd.enable = true; - # The FIDO2 udev rule below hands the key to the plugdev group. - users.users.${myvars.username}.extraGroups = [ "plugdev" ]; - - services.udev.extraRules = '' - # CanoKey - GnuPG/pcsclite - SUBSYSTEM!="usb", GOTO="canokey_rules_end" - ACTION!="add|change", GOTO="canokey_rules_end" - ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42d4", ENV{ID_SMARTCARD_READER}="1" - LABEL="canokey_rules_end" - - # CanoKey - FIDO2 - KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42d4", TAG+="uaccess", GROUP="plugdev", MODE="0660" - - # CanoKey - WebUSB - # Upstream ships this as MODE:="0666" (world-writable), which lets any - # local user access the key; restrict it to the plugdev group instead. - SUBSYSTEMS=="usb", ATTR{idVendor}=="20a0", ATTR{idProduct}=="42d4", GROUP="plugdev", MODE="0660" - ''; - environment.systemPackages = with pkgs; [ ccid pcsc-tools