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.extraUsers.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 environment.systemPackages = [ pkgs.androidenv.platformTools ];
27 users.extraGroups.adbusers = {};
28 };
29}