1{ config, lib, pkgs, ... }:
2
3with lib;
4
5{
6 meta.maintainers = [ maintainers.mic92 ];
7
8 ###### interface
9 options = {
10 programs.adb = {
11 enable = mkOption {
12 default = false;
13 type = types.bool;
14 description = ''
15 Whether to configure system to use Android Debug Bridge (adb).
16 To grant access to a user, it must be part of adbusers group:
17 <code>users.users.alice.extraGroups = ["adbusers"];</code>
18 '';
19 };
20 };
21 };
22
23 ###### implementation
24 config = mkIf config.programs.adb.enable {
25 services.udev.packages = [ pkgs.android-udev-rules ];
26 # Give platform-tools lower priority so mke2fs+friends are taken from other packages first
27 environment.systemPackages = [ (lowPrio pkgs.androidenv.androidPkgs_9_0.platform-tools) ];
28 users.groups.adbusers = {};
29 };
30}