diff options
Diffstat (limited to 'modules/system/hardware/default.nix')
-rw-r--r-- | modules/system/hardware/default.nix | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/modules/system/hardware/default.nix b/modules/system/hardware/default.nix deleted file mode 100644 index 850416b7..00000000 --- a/modules/system/hardware/default.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - cfg = config.soispha.hardware; -in { - options.soispha.hardware = { - enable = lib.mkEnableOption "the various hardware dependend things (and graphics drivers)"; - moonlander = { - enableLiveTraining = lib.mkEnableOption "udev rules for live training"; - enableFlashing = lib.mkEnableOption "udev rules for firmware flashing"; - }; - - cpuType = lib.mkOption { - type = lib.types.enum ["amd" "intel"]; - description = '' - The manuafacturer of the used cpu. - - This is used to enable, for example, the correct microcode updates. - ''; - }; - }; - - config = lib.mkIf cfg.enable { - hardware = { - cpu.amd.updateMicrocode = cfg.cpuType == "amd"; - cpu.intel.updateMicrocode = cfg.cpuType == "intel"; - - # This is enabled manually to support older firmware. - keyboard.zsa.enable = false; - - nitrokey.enable = true; - onlykey.enable = false; - - graphics = { - enable = true; - extraPackages = builtins.attrValues { - inherit - (pkgs) - vaapiVdpau - libvdpau-va-gl - ; - }; - }; - }; - - # TODO: Remove the support for the old keyboards <2024-05-16> - services.udev.extraRules = - lib.strings.optionalString cfg.moonlander.enableLiveTraining '' - # Rules for Oryx web flashing and live training - KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", MODE="0664", GROUP="plugdev" - KERNEL=="hidraw*", ATTRS{idVendor}=="3297", MODE="0664", GROUP="plugdev" - - # Legacy rules for live training over webusb (Not needed for firmware v21+) - # Rule for all ZSA keyboards - SUBSYSTEM=="usb", ATTR{idVendor}=="3297", GROUP="plugdev" - # Rule for the Moonlander - SUBSYSTEM=="usb", ATTR{idVendor}=="3297", ATTR{idProduct}=="1969", GROUP="plugdev" - # Rule for the Ergodox EZ - SUBSYSTEM=="usb", ATTR{idVendor}=="feed", ATTR{idProduct}=="1307", GROUP="plugdev" - # Rule for the Planck EZ - SUBSYSTEM=="usb", ATTR{idVendor}=="feed", ATTR{idProduct}=="6060", GROUP="plugdev" - '' - + lib.strings.optionalString cfg.moonlander.enableFlashing - '' - # Wally Flashing rules for the Ergodox EZ - 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]?", MODE:="0666" - KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666" - - # Wally Flashing rules for the Moonlander and Planck EZ - SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", \ - MODE:="0666", \ - SYMLINK+="stm32_dfu" - ''; - }; -} |