~ruther/nixos-config

36f60ae5ccbf0068b78c94a6e7dd5351d41feefe — Frantisek Bohacek 8 months ago bc2093f
feat: add udev rules for moonlander keyboard
2 files changed, 16 insertions(+), 1 deletions(-)

M nixos/hosts/laptop-phobos/default.nix
M nixos/modules/profiles/development.nix
M nixos/hosts/laptop-phobos/default.nix => nixos/hosts/laptop-phobos/default.nix +1 -0
@@ 33,6 33,7 @@

    fpga.cables = [ "vivado" "ise" ];
    mcu.cables = [ "tiva-c" "st-link" "trezor" ];
    keyboards = [ "moonlander" ];
  };

  networking.hostName = "laptop-phobos";

M nixos/modules/profiles/development.nix => nixos/modules/profiles/development.nix +15 -1
@@ 66,6 66,14 @@ let
      '';
    };

    moonlander-udev-rules = pkgs.writeTextFile {
      name = "moonlander-udev-rules";
      destination = "/etc/udev/rules.d/100-moonlander.rules";
      text = ''
        SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="df11", MODE:="600", TAG+="uaccess", SYMLINK+="stm32_dfu"
      '';
    };

    cfg = config.profiles.development;
in
{


@@ 79,6 87,11 @@ in
      mcu.cables = lib.mkOption {
        type = lib.types.listOf lib.types.str;
      };

      keyboards = lib.mkOption {
        type = lib.types.listOf lib.types.str;
      };

    };
  };



@@ 88,6 101,7 @@ in
      lib.lists.optional (builtins.elem "tiva-c" cfg.mcu.cables) ti-udev-rules ++
      lib.lists.optional (builtins.elem "trezor" cfg.mcu.cables) trezor-udev-rules ++
      lib.lists.optional (builtins.elem "ise" cfg.fpga.cables) inputs.nix-fpga-tools.packages.${pkgs.system}.ise-udev-rules ++
      lib.lists.optional (builtins.elem "ise" cfg.fpga.cables) inputs.nix-fpga-tools.packages.${pkgs.system}.vivado-udev-rules;
      lib.lists.optional (builtins.elem "ise" cfg.fpga.cables) inputs.nix-fpga-tools.packages.${pkgs.system}.vivado-udev-rules ++
      lib.lists.optional (builtins.elem "moonlander" cfg.keyboards) moonlander-udev-rules;
  };
}

Do not follow this link