aboutsummaryrefslogtreecommitdiffstats
path: root/modules/system/hardware
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system/hardware')
-rw-r--r--modules/system/hardware/default.nix80
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"
- '';
- };
-}