diff options
author | Yurii Rashkovskii <yrashk@gmail.com> | 2018-01-12 10:23:05 -0800 |
---|---|---|
committer | Yurii Rashkovskii <yrashk@gmail.com> | 2018-03-18 12:49:13 +0700 |
commit | 738bcfdef8bb3bf4c4135375de8efaabe63f6eb4 (patch) | |
tree | 3254b0201b2ada04db3befb45ab1bae122f5dd17 /nixos/modules/hardware | |
parent | b80dd958d053f56802874fdb440c8f821db751c3 (diff) | |
download | nixlib-738bcfdef8bb3bf4c4135375de8efaabe63f6eb4.tar nixlib-738bcfdef8bb3bf4c4135375de8efaabe63f6eb4.tar.gz nixlib-738bcfdef8bb3bf4c4135375de8efaabe63f6eb4.tar.bz2 nixlib-738bcfdef8bb3bf4c4135375de8efaabe63f6eb4.tar.lz nixlib-738bcfdef8bb3bf4c4135375de8efaabe63f6eb4.tar.xz nixlib-738bcfdef8bb3bf4c4135375de8efaabe63f6eb4.tar.zst nixlib-738bcfdef8bb3bf4c4135375de8efaabe63f6eb4.zip |
config.hardware.onlykey configuration option
By default, OnlyKey device (https://crp.to/p/) won't work on Linux (and, therefore, NixOS). This is unintuitive and requires one to search for a solution in the documentation. This change allows one to enable OnlyKey device support directly from their NixOS configuration.
Diffstat (limited to 'nixos/modules/hardware')
-rw-r--r-- | nixos/modules/hardware/onlykey.nix | 33 | ||||
-rw-r--r-- | nixos/modules/hardware/onlykey.udev | 4 |
2 files changed, 37 insertions, 0 deletions
diff --git a/nixos/modules/hardware/onlykey.nix b/nixos/modules/hardware/onlykey.nix new file mode 100644 index 000000000000..b6820fe01911 --- /dev/null +++ b/nixos/modules/hardware/onlykey.nix @@ -0,0 +1,33 @@ +{ 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 = builtin.readFile ./onlykey.udev; + }; + + +} diff --git a/nixos/modules/hardware/onlykey.udev b/nixos/modules/hardware/onlykey.udev new file mode 100644 index 000000000000..6583530e5684 --- /dev/null +++ b/nixos/modules/hardware/onlykey.udev @@ -0,0 +1,4 @@ +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" |