{ config, pkgs, lib, ... }: let androidSdkRoot = "${config.home.homeDirectory}/Android/Sdk"; cfg = config.homeModules.androidstudio; in lib.mkIf cfg.enable { home.packages = with pkgs; [ android-studio # Tools for Android SDK management android-tools jdk11 # or jdk17 if needed by Android Studio gradle ]; # Set up environment variables for Android development home.sessionVariables = { ANDROID_SDK_ROOT = androidSdkRoot; ANDROID_HOME = androidSdkRoot; ANDROID_AVD_HOME = "${config.home.homeDirectory}/.android/avd"; JAVA_HOME = "${pkgs.jdk11}/lib/openjdk"; # Or jdk17 if preferred # in _home.nix PATH = lib.mkAfter "${androidSdkRoot}/cmdline-tools/latest/bin:${androidSdkRoot}/platform-tools"; }; # Create needed folders and install SDK components on first run (optional) home.activation.setupAndroidSdk = lib.hm.dag.entryAfter [ "writeBoundary" ] '' mkdir -p "${androidSdkRoot}" if ! [ -x "${androidSdkRoot}/cmdline-tools/latest/bin/sdkmanager" ]; then echo "✴️ Installing Android SDK Command-line Tools..." cp -r ${pkgs.androidsdk}/cmdline-tools "${androidSdkRoot}/cmdline-tools" fi ''; }