A suite of fast, opinionated terminal tools written in Rust. Single static binaries. Shared TUI foundation. No runtime deps.
Rust, the language, was actually named after a family of fungi (Pucciniales, plant pathogens "over-engineered for survival," as Graydon Hoare put it). The iron-oxide association came later, through the visual rhyme with what those fungi look like on a leaf. Fe2O3 is that iron oxide: what happens when iron meets oxygen meets time. These tools are the result of pointing fast iron at the soft corners of a workflow. This is the terminal half of that toolkit.
Every tool sits on crust, a small pane-based TUI library. Colors, borders, scrolling, image rendering, and line wrapping all behave identically everywhere.
No Ruby, no Node, no Python. Drop the binary in ~/bin
and it runs. Startup time is under 50 ms on a warm disk.
Every Fe2O3 tool is a feature port of a long-running Ruby original. Same UX, dramatically faster, and with async fetches so the UI never blocks on network I/O.
glow renders images inline using kitty, sixel, w3m, or — as a graphics-free fallback — colored Unicode braille (works over SSH and in tmux without passthrough). PDFs preview as thumbnails, videos as extracted frames, emails as rendered pictures, astronomy as starcharts.
Sixteen binaries and five libraries that together cover most of what a keyboard-bound terminal user does in a day — plus a phone companion that bridges one of those workflows off the laptop.
Interactive shell with tab completion, history search, syntax highlighting, nick/gnick aliases, per-command autocorrect, and OSC 7 for terminal cwd tracking. ~26 ms startup.
Two-pane file manager with syntax-highlighted previews, inline image + video frame rendering, archive browsing, SSH, async file operations, undo, bookmarks, plugins.
Unified terminal inbox for maildir email, RSS, weechat, Slack, Discord, SMS. Thread view, tagging, search, AI assistant, compose plugins, OSC 8 clickable links.
Vim-flavoured modal editor for writers. Soft-wrap, reading mode, spellcheck, persistent registers, Claude Code in the prompt. Native HyperList editing (full hyperlist.vim parity — replaces the retired hyper).
Terminal web browser with vim-style keys, tabs, inline images, forms, bookmarks, and AI summaries. Handles mailto links by handing them off to kastrup.
Reader for your personal daily news digest. A server-side Claude run gathers the news you care about into a dated Markdown issue (and a typeset PDF); gazette browses the last 7 days and opens source links in scroll.
Day/week/month calendar with ephemeris: sun, moon, planets, astronomical events. Google Calendar + Outlook sync. Desktop notifications. Shared ephemeris engine with nova.
Single amateur-astronomy app: Sky mode (weather, ephemeris, observation conditions, APOD, starcharts) plus Gear mode (telescopes, eyepieces, recommended combinations, observation logs). Replaces nova and scope.
IMDb Top 250 browser with inline posters, TMDb streaming info, wish/dump lists, genre filters, async background fetching. Cut search time so you spend time watching.
Replaces Firefox's removed "Open network login page" banner. Subscribes to NetworkManager via D-Bus and opens a Firefox tab at the gateway IP on captive-portal detection. Pure signal-driven; ~4 MB RSS, 0 % CPU when idle.
Interactive TUI configuration for the rush shell. Browse and modify all rush settings with live color previews, theme cycling, and a full 256-color palette.
TUI color picker with FG/BG slots, R/G/B and H/S/V sliders, hex input, live sample-text preview, and WCAG 2.x contrast ratio. Pure ANSI 24-bit truecolor — no kitty graphics dependency.
TUI font picker with live previews. Enumerates every installed
font via glyph, previews the highlighted family in its own
typeface (drawn with glow), and returns the chosen family and
point size. Launchable as a picker like prism — scribe binds
\F to it.
Top drainers by CPU%, voluntary-context-switches/s (the
polling proxy), and I/O. Per-workspace attribution via
EWMH, claude-powered analysis pane, persistent baseline,
strace -c on demand, and a pinned summary
for the asm foundation tools.
Five-tab terminal companion for the Amar RPG — a 3-tier d6 system. NPC / encounter / town / weather forge, persistent campaign tracker with adventure import + inline scene images, live combat HUD, browsable canon (187 wiki entries scraped from d6gaming.org), and AI-assisted Inspire prompts.
Terminal Spotify controller. Search, browse playlists and saved tracks, queue items, switch devices, drive playback (play / pause / next / prev / seek / volume / shuffle / repeat). No audio backend — drives Spotify Connect, so playback runs on whatever device the user authorizes (phone, desktop, speaker, web player).
Terminal melody maker. Play a piano line live on the keyboard, record and edit it on a piano-roll, keep time with the metronome, then export to WAV as the starting point for a song.
Terminal Petri net player. Load a net, fire transitions and watch tokens flow, spot conflicting transitions, and search for deadlocks. A compact playground for modelling concurrency.
A personal library of the books that should exist. Curate a shelf of enticing titles; grab one and Claude writes the whole book, with inline figures, to read in the terminal. Real books fetch from legal sources. Syncs to the phone reader, books.
A terminal spreadsheet that lets the AI do the tedious parts. Edit cells and write formulas, or just tell Claude what to change. Reads and writes csv/xlsx/ods with a hand-rolled formula engine, undo, and multi-sheet workbooks.
One read-only view for any file: spreadsheets, documents, slide decks, PDFs, images and syntax-highlighted code. Renders each with the right method and launches the right editor on a keypress. Browses with pointer; new formats are a config line.
The TUI foundation that every Fe2O3 tool builds on. Panes,
colors, borders, input, scrolling, Unicode, OSC 8 hyperlinks,
diff rendering. Published as fe2o3-crust.
Terminal image renderer supporting kitty, sixel, w3m, and
colored-braille fallback for graphics-free terminals. Auto-detects
the best fit. Used by pointer, kastrup, scroll, watchit, and
astro. Published as fe2o3-glow.
Theme-aware syntax highlighter. ~18 source languages plus
dedicated HyperList, Markdown, LaTeX, and email-mode renderers.
Multi-line block-comment / string state, six built-in themes,
shared theme palette. Used by scribe, pointer, kastrup.
Published as fe2o3-highlight.
Moon phases, sun and planet positions, observation windows.
Shared ephemeris engine used by tock and astro.
Published as fe2o3-orbit.
nomad is the mobile half of the family — a single Android monorepo with a shared Rust core (the same logic as the desktop, via UniFFI) under thin Kotlin / Compose shells. Each app carries one Fe2O3 workflow off the laptop and syncs over Syncthing — no Google account, no cloud middleman.
HyperList todo editor + Glance home-screen widget for the same
~/.tasks/todo.hl that scribe edits and kastrup's
z triage appends to.
General HyperList editor — full syntax highlighting, fold, drag-reorder across depth, and auto-renumber.
Notification gateway: relays WhatsApp / Messenger / Instagram / SMS / Discord (and photos) into kastrup and fires replies — replacing the laptop's Marionette bridge.
Amateur-astronomy companion: ephemeris, met.no weather + observing conditions, in-the-sky events, APOD, starchart, and a telescope/eyepiece gear catalog (shared with desktop astro).
TMDB movie / series browser — top-rated & popular lists, your own wish/dump lists, posters, full detail, and search-to-add.
Amar RPG O6 dice roller: D6, skill, and combat rolls with the full crit/fumble tables, plus fear rolls with mental-fortitude.
Pocket HP-41 RPN scientific calculator — full stack/registers/modes, an HP-41-style multi-shift keypad, and a FOCAL program runner.
Distraction-free notes pad — the touch companion to the scribe editor, syncing the same plain-text notes over Syncthing.
Offline, searchable reference reader — glossaries, books, and your own writings in your pocket, with no network needed.
Voice quick-capture — hold, talk, and file a transcribed note; the
pocket version of the laptop's Win+a VTT.
Reader for your personal daily news digest — browse the last 7 daily
issues (and the typeset PDF) synced into ~/.news, open
source links. Touch companion to the gazette TUI.
The library on your phone. Read-only reader over the synced
~/.library: only the books you have made, grouped by
shelf, with inline figures, read full-screen and offline.
A minimal home-screen launcher: one screen, your widgets placed freely, nothing else. Built to cost nothing when idle, no polling or background wake-ups.
Archived: nova and scope have been folded into astro; hyper has been folded into scribe.
Each tool ships multi-platform prebuilt binaries on every tagged
release. Pick your platform and drop them in ~/bin:
# Linux x86_64 — one-liner to grab every Fe2O3 binary for app in rush pointer kastrup scribe scroll gazette tock astro watchit torii crush prism fonts drain amar tune melody petri library grid viewer; do curl -L "https://github.com/isene/$app/releases/latest/download/$app-linux-x86_64" \ -o ~/bin/$app && chmod +x ~/bin/$app done # Other platforms: replace -linux-x86_64 with: # -linux-aarch64 (Raspberry Pi, ARM64 Linux) # -macos-x86_64 (Intel Mac) # -macos-aarch64 (Apple Silicon)