Change:
The onlykey udev rule in is different from the one available on the onlykey documentation here The onlykey isn't recognized using the udev rules currently available on the nixpkgs tree. I don't know why the two rules are completely different... Maybe there are two different versions of the onlykey out there using different hardware? Anyway, my workaround to get the onlykey working: add the correct udev rule manually, by using the option in your
Looks like it has been mentioned in the original pull request without response from the OP: The changes appears to have been done in so maybe ask there.
I marked this as stale due to inactivity. &rarr;

Discussion:
<del> { config, lib, ... }: with lib; { ####### interface options = { hardware.onlykey = { enable = mkOption { type = types.bool; default = false; description = '' Enable OnlyKey device (https://crp.to/p/) support. ''; }; }; }; ## As per OnlyKey's documentation piece (hhttps://docs.google.com/document/d/1Go_Rs218fKUx-j_JKhddbSVTqY6P0vQO831t2MKCJC8), ## it is important to add udev rule for OnlyKey for it to work on Linux ####### implementation config = mkIf config.hardware.onlykey.enable { services.udev.extraRules = builtins.readFile ./onlykey.udev; }; } </del>

<del> ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1" ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", GROUP+="plugdev" KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", GROUP+="plugdev" </del>

<ins> { config, lib, ... }: with lib; { ####### interface options = { hardware.onlykey = { enable = mkOption { type = types.bool; default = false; description = '' Enable OnlyKey device (https://crp.to/p/) support. ''; }; }; }; ## As per OnlyKey's documentation piece (hhttps://docs.google.com/document/d/1Go_Rs218fKUx-j_JKhddbSVTqY6P0vQO831t2MKCJC8), ## it is important to add udev rule for OnlyKey for it to work on Linux ####### implementation config = mkIf config.hardware.onlykey.enable { services.udev.extraRules = builtins.readFile ./onlykey.udev; }; } </ins>

<ins> # UDEV Rules for OnlyKey, https://docs.crp.to/linux.html ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", ENV{ID_MM_DEVICE_IGNORE}="1" ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", ENV{MTP_NO_PROBE}="1" SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", MODE:="0666" KERNEL=="ttyACM*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", MODE:="0666" # The udev rules were updated upstream without an explanation as you can # see in [this comment][commit]. Assuming that hey have changed the # idVendor/idProduct, I've kept the old values. # TODO: Contact them upstream. # # [commit]: https://github.com/trustcrypto/trustcrypto.github.io/commit/0bcf928adaea559e75efa02ebd1040f0a15f611d # ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1" ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", GROUP+="plugdev" KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", GROUP+="plugdev" </ins>

./hardware/tuxedo-keyboard.nix ./hardware/ubertooth.nix ./hardware/usb-wwan.nix <del> ./hardware/onlykey.nix </del> <ins> ./hardware/onlykey/default.nix </ins> ./hardware/opentabletdriver.nix ./hardware/sata.nix ./hardware/wooting.nix