A Fastfetch config tuned for Android 12 / Termux and native X11 Termux desktops (XFCE, MATE, LXQt, …). It draws a fixed-width table with hardware, desktop, terminal, development, and uptime sections, then prints the color palette.
Actual fastfetch -c config.jsonc run on the author's Android 12 Termux phone — fixed-width bordered table: hardware → desktop → terminal → development → uptime, with the Gruvbox palette at the bottom. Rendered with plusafetch's ptycapture + ansi2png — numpy + Pillow, driven by a pty. Live state, not a template: RAM/battery/uptime drift between invocations.
config.jsonc— the Fastfetch config (JSONC, comments allowed)ascii.txt— the penguin ASCII logo referenced by the config
- fastfetch — 2.51.0 or newer (JSONC config format); tested on 2.71.0
- A terminal with UTF-8, a Nerd Font, and truecolor for the icons and borders
- On Termux:
pkg install fastfetch(or build from source) - Optional, for the Desktop section:
xdpyinfoandxrandr(missing commands showUnknowninstead of failing)
Before 2.51.0? The JSONC config format was not stable yet — upgrade with
pkg update && pkg upgrade fastfetch, or fetch a release build from the fastfetch GitHub releases.
bash install.sh # fzf menu when available: full or minimal
bash install.sh --minimal # nine-row preset insteadThe installer writes ~/.config/fastfetch/config.jsonc and ~/ascii.txt,
keeps timestamped backups of anything it replaces, and runs a render check.
It records both files in $XDG_STATE_HOME/android12-fastfetch/installed.tsv;
bash install.sh --uninstall removes them (or use --keep-logo).
git clone https://github.com/Mark44928/android12-fastfetch.git
cd android12-fastfetch
mkdir -p ~/.config/fastfetch
cp config.jsonc ~/.config/fastfetch/config.jsonc
cp ascii.txt ~/ascii.txt
fastfetchFastfetch reads ~/.config/fastfetch/config.jsonc by default. The config points the logo at ~/ascii.txt, so keep that path or edit logo.source.
presets/minimal.jsonc keeps the logo and Gruvbox key color but trims the
dashboard to nine rows (OS, kernel, uptime, packages, shell, terminal, memory,
disk, date). Run it without replacing your main config:
fastfetch -c presets/minimal.jsonc --pipemkdir -p ~/.config/fastfetch
curl -fsSL https://raw.githubusercontent.com/Mark44928/android12-fastfetch/main/config.jsonc -o ~/.config/fastfetch/config.jsonc
curl -fsSL https://raw.githubusercontent.com/Mark44928/android12-fastfetch/main/ascii.txt -o ~/ascii.txt
fastfetch- Logo — edit
logo.sourceinconfig.jsonc. Set"type": "builtin"to use Fastfetch's built-in logos instead.ascii.txtis a penguin-style ASCII logo kept in$HOME(see its provenance note in Notes). - Disk folders — edit
"folders"to match your storage. The default is/data:/storage/emulated/0(internal storage, works on every device); runls /storageto discover an SD-card mount point like/storage/0143-1A2Band add it, colon-separated. - Colors — the config uses Gruvbox hex values. Change the
{##...}colors to match your theme. - Sections — remove or comment out modules you do not need (for example
battery,gpu,localip, orwm). - Key width — the cursor constants (
\u001b[47D,\u001b[47C, …) assume a 47-column value block. If you change the labels or width, adjust those constants too.
- The config is JSONC: comments are allowed. Fastfetch accepts it, but strict JSON tools may not.
$schemais pinned to the 2.71.0 release tag — bump it (and re-runfastfetch) when you upgrade fastfetch, so schema drift cannot silently invalidate the config.- In a plain Termux shell the Desktop-section rows (Session, Display, WM Theme, Icons, Terminal Font, Terminal Theme, X11 Backend) print
Unknown— they are only meaningful under Termux:X11. Delete that section if you never use X11; the command modules inside it already gate themselves withsystemconditionals. - The two GPU rows are intentional: GPU is the hardware model, G-Driver is the driver/version detail.
- The Hardware section (
RAM,CPU, …) also renders correctly in plain Termux — only the desktop rows need X11. xdpyinfocomes fromx11-utilson Debian/Ubuntu or the Termux X11 packages.- Long values (CPU model, Terminal Font, Theme strings) can push past the 47-column value block and shift the right border — shorten the terminal font/theme values, or wrap them in a per-module
formatif your device shows misaligned rows. ascii.txtprovenance: the penguin-style logo was assembled by the repo author from ASCII penguin art in the style of the classicpingu/cowsaylineage; it is a configuration asset covered by the repo's MIT license, not a stock fastfetch logo.- The Disk row in the preview assumes the default
/data:/storage/emulated/0mount points; yourdiskmodule will print differently if you add a customfoldersentry.
Kernelrow beside Chassis — running kernel release (uname -r)Loadrow in the Hardware section — 1/5/15-minute load averages, so the box's pressure is visible next to CPU and RAM (uptime and login rows stay in the Uptime section below)
Processesrow in the Hardware section (process + thread count) — the label keeps the fixed-width alignment, and the module works on plain Termux CLI, not just X11$schemapinned to the 2.71.0 release tag instead of the movingdevbranch, so schema drift cannot silently invalidate the configdisk.foldersdefaults to/data:/storage/emulated/0(works on every device) instead of the author's SD-card UUID, with a comment explaining how to add your own mount point- Desktop section documented as X11-only, and the two GPU rows (hardware model vs driver version) explained
ascii.txtprovenance/language added to the license note- CI actually runs
fastfetch -c config.jsonc --pipeon a real 2.71.0 binary and asserts the RAM/CPU/Disk rows render
Tiny, dependency-free tools from the same family:
- plusafetch — C++23 fetch for Termux — ~23 ms, zero subprocesses on the default path
- Plusalator — C++17 calculator REPL — Qalculate-flavored, ghost autosuggest, 18 themes
- GrubBlastersHTML — Worms-style artillery in one HTML file — 70 weapons, fully destructible terrain
- SnakTUI — modern Snake for your terminal — Textual + Python
- Easy-Termux-Package-Manager — fzf-driven package manager for Termux — snapshots, audit, 183 tests
- NoNameOS — OS simulation in a single C++17 file — virtual FS, real shell
- Greenit — green-injected theme family — dark + light, single palette.json
- CalculaHTML — static HTML calculator — 15 themes + System mode, zero deps
- Anti-bloatware-list-for-Android-TV-Boxes-and-Sticks-for-rooted — ADB debloat for rooted Android 9+ TV sticks & boxes
- Android9-audios — 217 stock Android 9 system sounds + per-file SHA-256
MIT — free to reuse, fork, or adapt. See CONTRIBUTING.md to contribute; this project follows the standard Code of Conduct.
