An idempotent Termux bootstrap: sane dotfiles, useful scripts, one-shot setup.
bash setup.sh · bash update.sh · bash backup.sh
Quickstart · Scripts · Architecture · Setup guide · License
termux-toolkit turns a fresh Termux install into a comfortable
on-device dev environment in one command. It's idempotent — you can run it
a hundred times and it only changes what needs changing. It installs packages,
links your dotfiles, drops helper scripts into ~/bin, and exposes three
verbs you can run forever:
bash setup.sh # build the environment (safe to re-run)
bash update.sh # pull the latest toolkit + refresh packages
bash backup.sh # snapshot config + package manifestgit clone https://github.com/axe01010/termux-toolkit.git
cd termux-toolkit
# standard profile: packages + dotfiles + scripts
bash setup.sh
# lighter / heavier / safer
bash setup.sh --minimal # packages only
bash setup.sh --full --backup # packages + fonts, backing up files first
bash setup.sh --dry-run # show the plan without touching anythingAfter setup, from any shell:
tt # device + terminal snapshot (battery/mem/disk)
tt-update # update toolkit + packages
tt-backup # snapshot your setup to ~/.termux-toolkit-backupPackages (standard profile)
git zsh tmux openssh python nodejs-lts fzf ripgrep tree jq htop openssl curl nano
plus neovim bat exa duf.
Dotfiles (symlinked into ~)
configs/.zshrc— friendly prompt, git-aware RPROMPT,ls/ll/cat/grepaliases, dev shortcuts (gs,gc,gpp,mkvenv).configs/.tmux.conf—C-aprefix, vi mode, mouse, readable status bar.
Scripts (~/bin, symlinked from scripts/)
ttyinfo— system / battery / memory / disk snapshot.info— the same plus toolkit revision + local-change count.
bash setup.sh --dry-run # print everything before it happens
bash update.sh --no-pkgs # only refresh toolkit files, skip package upgrade
bash backup.sh # create ~/.termux-toolkit-backup/STAMP/
bash backup.sh --restore <stamp> # bring back a prior snapshottermux-toolkit/
├── setup.sh # idempotent bootstrap (builds everything)
├── update.sh # git pull + package upgrade + re-apply
├── backup.sh # snapshot / restore
├── configs/ # .zshrc, .tmux.conf (symlinked into ~)
├── scripts/ # info.sh, ttyinfo.sh (symlinked into ~/bin)
└── docs/ # architecture, setup, usage
setup.sh is the dependency hub: it calls the package layer, the storage
layer, the script installer and the dotfile linker — each idempotent and
isolated. See docs/architecture.md for detail.
- Fresh Termux, fast — one command, sane defaults.
- Reproducible setups — symlinks mean your dotfiles live in git, not
copies scattered on disk;
backup.sh --restorerecovers them. - On-device dev without a laptop — a tight tmux + zsh + fzf + bat core that fits a phone keyboard and screen.
| Q | A |
|---|---|
| Is it destructive? | No — it only symlinks if absent, backs up real files (--backup), and --dry-run shows the whole plan first. |
| What does it touch outside the repo? | ~/bin, your dotfiles, the package DB, and your shared storage (only via termux-setup-storage). |
| Can I skip zsh/tmux? | Use --minimal (packages only) or edit setup.sh's package array. |
| Does it require root? | No (pkg runs unprivileged; only apt mode uses sudo). |
Add scripts under scripts/, dotfiles under configs/, new package layers in
setup.sh. Keep everything idempotent and dry-run-safe — run
bash setup.sh --dry-run before and after your change. See
docs/contributing.
MIT — see LICENSE.
Part of the Free On-Device AI DevKit stack
android-ai-agent · on-device-llm-mobile · mcp-server-hub · termux-toolkit · android-security-lab
README built for the Free On-Device AI DevKit — private AI that runs entirely on a phone.
