# Termux (Android, aarch64) tuning overlay. # Linked to ~/.config/topgrade.d/termux.toml; topgrade.d is merged BEFORE # ~/.config/topgrade.toml and wins on conflicting keys, so values here # override the shared base config. # # Scope: load tuning, proot guests, and steps that cannot work on Android. [misc] # Lists merge by prepend (merge_strategies::vec_prepend_opt), so the base # config's "vim" is already included; do not repeat it. # mise: topgrade runs `mise self-update`, which aborts the step before # `mise upgrade`; Termux mise is pkg-managed and upstream ships no # mise-v*-android-arm64 asset. Replaced by the "mise tools" command below. # getnf: `getnf -U` installs fonts, then post_install() always calls applynf, # whose prompt recurses without an EOF guard -> stack overflow -> SIGSEGV on # non-tty stdin. It also re-downloads every font each run. disable = ["mise", "getnf"] # topgrade has no proot-distro support (only distrobox/toolbx/podman/ssh), # so guest rootfs upgrades run as custom commands (step: custom_commands). # Guest shell is already root; no sudo. [commands] "proot ubuntu" = "proot-distro login ubuntu -- /bin/sh -c 'apt-get update && apt-get -y full-upgrade && apt-get -y autoremove --purge && apt-get clean'" # Tool upgrades without the impossible self-update; -C ~ avoids picking up a # project-local mise.toml from topgrade's working directory. "mise tools" = "mise upgrade --yes --jobs 4 -C ~" [git] # `repos` only exists in lnx.toml, which is not linked on Termux, so without # this the git_repos step silently skips. ~/Source does not exist here. repos = ["~/Workspace/*"] pull_predefined = false fetch_only = true # Phone storage/CPU: fewer parallel fetches than the desktop overlay (12). max_concurrency = 4 [mise] # Keep headroom on an 8-core device under thermal throttling. jobs = 4