{ username ? throw "username argument is required", }: { config, pkgs, ... }: let hmConfig = config.home-manager.users.${username}; in { nixpkgs.overlays = [ (final: prev: { android-tools = prev.android-tools.overrideAttrs (oldAttrs: { patches = oldAttrs.patches or [ ] ++ [ ./env-var-user-home.patch ]; }); }) ]; programs.adb.enable = true; services.gvfs.enable = true; users.users.${username}.extraGroups = [ "adbusers" ]; environment.persistence."/persist".users.${username}.files = [ "${hmConfig.xdg.relativeDataHome}/android/adbkey" "${hmConfig.xdg.relativeDataHome}/android/adbkey.pub" ]; home-manager.users.${username}.home.sessionVariables.ANDROID_USER_HOME = "${hmConfig.xdg.dataHome}/android"; }