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 relatedPackages = [ ["androidenv" "platformTools"] ];
20 };
21 };
22 };
23
24 ###### implementation
25 config = mkIf config.programs.adb.enable {
26 services.udev.packages = [ pkgs.android-udev-rules ];
27 environment.systemPackages = [ pkgs.androidenv.platformTools ];
28 users.groups.adbusers = {};
29 };
30}