Standalone. Opt-in only — Android SDK is ~3 GiB and only relevant on machines doing Android or Tauri-mobile work. install_android=false by default everywhere.
Changes
.chezmoi.toml.tmpl — new data flag
[data]
install_android = false
Default off on every platform. Flip manually on machines that need it.
$macosSpecific
Under {{ if .install_android }}:
android-commandlinetools # brew cask — minimum footprint, not Android Studio
Linux: new run_once_after_install-android-sdk.sh.tmpl
Gated on {{ if .install_android }}. Idempotent:
- Download
commandlinetools-linux-*.zip into ~/Android/Sdk/cmdline-tools/latest/ if not already present.
- Accept licenses:
yes | sdkmanager --licenses.
- Install core packages:
sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0".
- Honor
ANDROID_SDK_ROOT if set.
Pick Android API level 35 (matches recent Play Store requirements). Bump in a follow-up if needed.
dot_zshrc
Guarded by [ -d "$HOME/Android/Sdk" ] so no-SDK machines don't see stale env vars:
if [ -d "$HOME/Android/Sdk" ]; then
export ANDROID_HOME="$HOME/Android/Sdk"
export ANDROID_SDK_ROOT="$HOME/Android/Sdk"
export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin"
fi
dot_local/bin/executable_sysup — doctor entries
tools_lang (or tools_dev): add adb, sdkmanager.
- Guard both entries so the doctor doesn't flag them as missing when
install_android=false — check presence of $HOME/Android/Sdk before expecting them, or just report "not installed (opt-in)" for the opt-in tools.
get_version(): cases for adb --version | head -1, sdkmanager --version.
Verification checklist
Explicit non-goals
- No Android Studio install.
android-commandlinetools is the honest minimum; install Studio manually where needed.
- No emulator images — they are tens of GiB and developer-picked. Install via
sdkmanager per project.
- No Java/Kotlin toolchain here. If a future group needs them, separate issue.
Related
- None — standalone.
- Loosely related to Group D (Tauri): Tauri-mobile targets Android, so users who enable D may also want F. Kept separate so F remains opt-in.
Standalone. Opt-in only — Android SDK is ~3 GiB and only relevant on machines doing Android or Tauri-mobile work.
install_android=falseby default everywhere.Changes
.chezmoi.toml.tmpl— new data flagDefault off on every platform. Flip manually on machines that need it.
$macosSpecificUnder
{{ if .install_android }}:Linux: new
run_once_after_install-android-sdk.sh.tmplGated on
{{ if .install_android }}. Idempotent:commandlinetools-linux-*.zipinto~/Android/Sdk/cmdline-tools/latest/if not already present.yes | sdkmanager --licenses.sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0".ANDROID_SDK_ROOTif set.Pick Android API level 35 (matches recent Play Store requirements). Bump in a follow-up if needed.
dot_zshrcGuarded by
[ -d "$HOME/Android/Sdk" ]so no-SDK machines don't see stale env vars:dot_local/bin/executable_sysup— doctor entriestools_lang(ortools_dev): addadb,sdkmanager.install_android=false— check presence of$HOME/Android/Sdkbefore expecting them, or just report "not installed (opt-in)" for the opt-in tools.get_version(): cases foradb --version | head -1,sdkmanager --version.Verification checklist
chezmoi execute-templaterenders cleanly withinstall_android=trueand=false.install_android=false): rendered output has no Android references.install_android=trueon Linux:adb --versionworks after apply.install_android=trueon macOS:brew list --cask android-commandlinetoolsshows installed;adbon PATH after shell restart.zshstartup doesn't exportANDROID_HOME(guard works).sysup doctoris honest — does not warn about missing adb/sdkmanager when flag is off.Explicit non-goals
android-commandlinetoolsis the honest minimum; install Studio manually where needed.sdkmanagerper project.Related