27 lines
819 B
Nix
27 lines
819 B
Nix
{
|
|
username ? throw "username argument is required",
|
|
}:
|
|
{ config, pkgs, ... }:
|
|
let
|
|
userConfig = config.users.users.${username};
|
|
hmConfig = config.home-manager.users.${username};
|
|
android-tools = pkgs.android-tools.overrideAttrs (oldAttrs: {
|
|
patches = oldAttrs.patches or [ ] ++ [ ./env-var-user-home.patch ];
|
|
});
|
|
in
|
|
{
|
|
services.udev.packages = with pkgs; [ android-udev-rules ];
|
|
environment.systemPackages = [ android-tools ];
|
|
services.gvfs.enable = true;
|
|
|
|
users.users.${username}.extraGroups = [ "adbusers" ];
|
|
|
|
home-manager.users.${username}.home = {
|
|
sessionVariables.ANDROID_USER_HOME = "${hmConfig.xdg.dataHome}/android";
|
|
persistence."/persist${userConfig.home}".files = [
|
|
"${hmConfig.xdg.dataHome}/android/adbkey"
|
|
"${hmConfig.xdg.dataHome}/android/adbkey.pub"
|
|
];
|
|
};
|
|
}
|