Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fe₂O₃ — Rust Terminal Suite

Image

Rust License Platform Stay Amazing

A suite of fast, opinionated terminal tools written in Rust. Single static binaries. Shared TUI foundation (crust). No runtime dependencies.

Landing page: isene.github.io/fe2o3


The launcher

This repo also holds fe2o3 itself: the suite as a grid of cards, one per app, with its logo, what it is and one line on why. Arrow keys move, Enter runs it in the same terminal, ? shows that app's own help, w opens its repo, / filters.

It is also the installer. What you have has a solid frame and a green ; what you do not have is dashed with an amber . i fetches the one under the cursor, I fetches every missing one in view — so you can take the launcher alone and pick up only the apps you fancy. Binaries land in ~/bin if you have it, else ~/.local/bin. A ~/bin/<tool> that is a symlink to a local build is left alone.

the fe2o3 launcher

cargo build --release        # or grab the binary from Releases
fe2o3                        # the grid
fe2o3 -l                     # the suite as plain text

Adding an app to the suite is one command:

tools/add-app isotopes --kind "Chart of the Nuclides" --group Science \
  --blurb "3,386 isotopes, how they decay and what into" \
  --desc "Neutrons across, protons up, coloured by how each one comes apart."

That writes the launcher row, renders the card logo from the app's own SVG, adds the table rows here and in CLAUDE.md, puts a card on the landing page in the right group with the count bumped, and drops a release workflow into the app's repo if it has none. --check shows what it would do; running it twice changes nothing the second time.

The tools

Binaries

Tool Release Role Ruby equivalent
pointer pointer File manager RTFM
kastrup kastrup Messaging hub (email, RSS, chat) Heathrow
scribe scribe Modal text editor for writers
scroll scroll Web browser brrowser
gazette gazette Daily news digest reader
tock tock Calendar with ephemeris Timely
astro astro Astronomy panel + telescope/eyepiece catalog astropanel + telescope-term
watchit watchit Movie / series browser IMDB-terminal
torii torii Captive-portal listener (NetworkManager → Firefox)
prism prism TUI color picker (FG/BG slots, RGB+HSV, WCAG contrast)
fonts fonts TUI font picker with live previews (enumerates installed fonts via glyph); returns family + size
drain drain Battery-drain triage TUI (top wakers, per-WS attribution)
amar amar Amar RPG companion (NPC / encounter / town / weather forge, campaign tracker, lore, AI inspire) Amar-Tools
tune tune Spotify Connect controller (search, library, queue, devices, transport)
melody melody Melody maker — piano-roll play / record / edit, metronome, WAV export
petri petri Petri net player — load a net, fire transitions, watch conflicts, find deadlocks
library library Generative personal library (curate a shelf of books that should exist, then have them written on demand)
grid grid AI-native spreadsheet (csv/xlsx/ods, formula engine, Claude editing)
viewer viewer Universal file viewer (tables, docs, slides, pdf, images, code; launches the right editor)
CC-sessions CC-sessions Claude Code session manager (cc/cl: bookmark + resume sessions with tags, /bm command) CC-sessions ≤1.5 (Ruby)
rpnx rpnx RPN / XRPN scientific calculator (HP-41 stack, cycling shift pages, runs XRPN programs) T-REX
typo typo Touch-typing tutor (strict drills, live WPM/accuracy, US + Norwegian layouts)
elements elements Periodic table explorer (118 elements + hypothesized 119–126, full Wikipedia article per element, offline)
isotopes isotopes Chart of the nuclides (3,386 isotopes, decay modes, half-lives, decay chains)
stars stars Hertzsprung-Russell diagram explorer (461 named stars, evolutionary tracks, full Wikipedia article per star, and a sky map to pick from)
particles particles Standard Model explorer (17 fundamental particles + proton/neutron, and a rotatable zoom from atom to quark)
exoplanets exoplanets The known exoplanets (6,309 worlds by orbit and size, systems, habitable zones)
fractal fractal Chaos and fractals in braille (Mandelbrot, Julia, logistic map, Lorenz, Hénon)

Retired

Superseded by the assembly tools in CHasm, which do the same job with a fraction of the cycles.

Tool Release Was Replaced by
rush rush Interactive shell bare
crush crush Configuration TUI for rush bareconf

nova and scope have been merged into astro and are archived. hyper has been folded into scribe.hl editing now lives there with full hyperlist.vim parity. All three READMEs link to their replacements.

Libraries

Crate Release Role Ruby equivalent
crust crust TUI foundation (panes, colors, input) rcurses
glow glow Inline images (kitty / sixel / w3m / braille) termpix
highlight highlight Theme-aware syntax highlighter (~18 source langs + HL / Markdown / LaTeX / email)
orbit orbit Moon phases, ephemeris, sun / planet positions ephemeris
starmap starmap The naked-eye sky in braille (9,096 stars with distances, constellation figures, star picker)
plot plot Terminal charts (sparkline / line / candle / bar) with Unicode + ANSI termchart
fe2o3-rpnx-core rpnx-core RPN / XRPN calculator engine shared by rpnx (TUI) + the RPNx phone app

Companion apps — nomad

The mobile half of the family. nomad is a single Android monorepo — a shared Rust core (the same logic as the desktop, via UniFFI) under thin Kotlin / Compose shells. Each app carries one Fe₂O₃ workflow off the laptop and syncs its data over Syncthing — no Google account, no cloud middleman.

App Pairs with Role
tasks scribe, kastrup HyperList todo editor + Glance widget for ~/.tasks/todo.hl
hyperlist scribe General HyperList editor with full syntax highlighting
relay kastrup Notification gateway (WhatsApp / Messenger / IG / SMS / Discord → kastrup) — replaces the laptop Marionette bridge
astro astro Ephemeris, weather + observing conditions, events, APOD, gear catalog
watchit watchit TMDB movie / series browser with wish/dump lists
amardice amar Amar RPG O6 dice roller (skill / combat / fear)
rpnx rpnx Pocket HP-41 RPN calculator + FOCAL program runner (same engine as the rpnx TUI)
scribe scribe Distraction-free notes pad — touch companion to the scribe editor
ref Offline, searchable reference reader (glossaries, books, personal writings)
vox Voice quick-capture — pocket version of the laptop Win+a voice-to-text
gazette gazette Daily news digest reader — browse the last 7 issues (and PDF) synced into ~/.news
books library The library on your phone, read-only: only the books you have made, grouped by shelf, with inline figures
onepage Minimal Android home launcher (one screen, freely-placed widgets, zero idle cost)

Install everything

Get the launcher, then let it fetch the rest: press I in the grid and every app you do not have is downloaded.

curl -L "https://github.com/isene/fe2o3/releases/latest/download/fe2o3-linux-x86_64" \
  -o ~/bin/fe2o3 && chmod +x ~/bin/fe2o3
fe2o3          # then press I

# Other platforms: replace -linux-x86_64 with:
#   -linux-aarch64   (Raspberry Pi, ARM64 Linux)
#   -macos-x86_64    (Intel Mac)
#   -macos-aarch64   (Apple Silicon)

Or grab them all straight from the shell:

for app in pointer kastrup scribe scroll gazette tock astro watchit torii prism fonts drain amar tune melody petri library grid viewer rpnx typo fractal elements isotopes exoplanets stars particles; do
  curl -L "https://github.com/isene/$app/releases/latest/download/$app-linux-x86_64" \
    -o ~/bin/$app && chmod +x ~/bin/$app
done

Why "Fe₂O₃"?

Rust the language was actually named after a family of fungi (Pucciniales, plant pathogens "over-engineered for survival" per Graydon Hoare). The iron-oxide association came later, through the visual rhyme with what those fungi look like on a leaf. Fe₂O₃ is that iron oxide: what happens when iron meets oxygen meets time. This is the terminal-facing half of that toolkit.

Every tool is a feature port of a long-running Ruby original, rewritten for speed, single-binary distribution, and async-first UI behavior.

License

All tools in the suite are public domain (Unlicense). Borrow or steal whatever you want.

Geir Isene

About

Fe2O3 — a suite of fast terminal tools in Rust. Landing page: https://isene.github.io/fe2o3/

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages