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 = lib.mdDoc ''
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 `users.users.alice.extraGroups = ["adbusers"];`
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.android-tools ];
27 users.groups.adbusers = {};
28 };
29}