diff --git a/hosts/kuroko/default.nix b/hosts/kuroko/default.nix index c03fe42..2e6d30a 100644 --- a/hosts/kuroko/default.nix +++ b/hosts/kuroko/default.nix @@ -6,5 +6,6 @@ ../../modules/security ../../modules/audio ../../modules/stylix + ../../modules/eletrical ]; } diff --git a/hosts/shiroko/default.nix b/hosts/shiroko/default.nix index c03fe42..a3cfae5 100644 --- a/hosts/shiroko/default.nix +++ b/hosts/shiroko/default.nix @@ -6,5 +6,6 @@ ../../modules/security ../../modules/audio ../../modules/stylix + ../../modules/electrical ]; } diff --git a/modules/electrical/default.nix b/modules/electrical/default.nix new file mode 100644 index 0000000..7eaa012 --- /dev/null +++ b/modules/electrical/default.nix @@ -0,0 +1,50 @@ +{ + pkgs, + ... +}: +{ + services.udev.packages = [ + (pkgs.writeTextFile { + name = "60-openhantek"; + text = '' + # rules for OpenHantek6022 (DSO program) as well as Hankek6022API (python tools) + + ACTION!="add|change", GOTO="openhantek_rules_end" + SUBSYSTEM!="usb|usbmisc|usb_device", GOTO="openhantek_rules_end" + ENV{DEVTYPE}!="usb_device", GOTO="openhantek_rules_end" + + # Hantek DSO-6022BE, without FW, with FW + ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="6022", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="6022", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + + # Instrustar isds-205b, without FW, with FW + ATTRS{idVendor}=="d4a2", ATTRS{idProduct}=="5661", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="1d50", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + + # Hantek DSO-6022BL, without FW, with FW + ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="602a", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="602a", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + + # Voltcraft DSO-2020, without FW (becomes DSO-6022BE when FW is uploaded) + ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="2020", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + + # BUUDAI DDS120, without FW, with FW + ATTRS{idVendor}=="8102", ATTRS{idProduct}=="8102", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="0120", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + + # Hantek DSO-6021, without FW, with FW + ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="6021", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="6021", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + + # YiXingDianZiKeJi MDSO, without FW, with FW + ATTRS{idVendor}=="d4a2", ATTRS{idProduct}=="5660", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608e", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + + LABEL="openhantek_rules_end" + + ''; + + destination = "/etc/udev/rules.d/60-openhantek.rules"; + }) + ]; +} diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index 5bebc1f..8ca57ff 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -22,6 +22,7 @@ home.packages = with pkgs; [ # here is some command line tools I use frequently # feel free to add your own or remove some of them + openhantek6022 tor libreoffice rasm diff --git a/users/kaitotlex/src/60-openhantek.rules b/users/kaitotlex/src/60-openhantek.rules new file mode 100644 index 0000000..726fc45 --- /dev/null +++ b/users/kaitotlex/src/60-openhantek.rules @@ -0,0 +1,34 @@ +# rules for OpenHantek6022 (DSO program) as well as Hankek6022API (python tools) + +ACTION!="add|change", GOTO="openhantek_rules_end" +SUBSYSTEM!="usb|usbmisc|usb_device", GOTO="openhantek_rules_end" +ENV{DEVTYPE}!="usb_device", GOTO="openhantek_rules_end" + +# Hantek DSO-6022BE, without FW, with FW +ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="6022", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" +ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="6022", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + +# Instrustar isds-205b, without FW, with FW +ATTRS{idVendor}=="d4a2", ATTRS{idProduct}=="5661", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" +ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="1d50", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + +# Hantek DSO-6022BL, without FW, with FW +ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="602a", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" +ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="602a", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + +# Voltcraft DSO-2020, without FW (becomes DSO-6022BE when FW is uploaded) +ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="2020", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + +# BUUDAI DDS120, without FW, with FW +ATTRS{idVendor}=="8102", ATTRS{idProduct}=="8102", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" +ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="0120", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + +# Hantek DSO-6021, without FW, with FW +ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="6021", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" +ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="6021", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + +# YiXingDianZiKeJi MDSO, without FW, with FW +ATTRS{idVendor}=="d4a2", ATTRS{idProduct}=="5660", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" +ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608e", TAG+="uaccess", TAG+="udev-acl", MODE="660", GROUP="plugdev" + +LABEL="openhantek_rules_end"