Files
Nixos/modules/development/android/default.nix
T
2026-08-17 22:02:42 +02:00

44 lines
1.1 KiB
Nix

{
config,
lib,
pkgs,
username,
...
}:
let
cfg = config.dov.development.android;
mtk-udev-rules = pkgs.writeTextFile {
name = "mtk-udev-rules";
destination = "/etc/udev/rules.d/60-mtk.rules";
text = ''
# MediaTek BROM (0003), Preloader VCOM (2000/2001), META (6000)
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666", TAG+="uaccess"
# Oppo/Realme fastboot + adb
SUBSYSTEM=="usb", ATTR{idVendor}=="22d9", MODE="0666", TAG+="uaccess"
# keep ModemManager's hands off the preloader port
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"
'';
};
in
{
options.dov.development.android = {
enable = lib.mkEnableOption "Android and MediaTek flashing tools";
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
android-tools
mtkclient
usbutils
];
users.users.${username}.extraGroups = [ "dialout" ];
services.udev.packages = [ mtk-udev-rules ];
};
}