Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
nahual
nahual(Nahuatl: companion spirit). Everyday "open-with" viewers, in Rust, on Llimphi.
nahual is the set of viewers a desktop user expects — a file shell that dispatches the right viewer by content, plus viewers for text, images, audio, video, SVG, maps, fonts, hex, tables, markdown, archives and more. All render on the same GPU-accelerated Llimphi UI. A meta-runtime lets you define a new viewer from a JSON schema, with no Rust.
a file manager with real thumbnails + browse-and-preview, the viewer dispatched by content
Run
cargo run --release -p nahual-shell-llimphi # the open-with shell (dispatches by content)
cargo run --release -p nahual-file-explorer-llimphi # file tree
cargo run --release -p nahual-image-viewer-llimphi # image viewer
cargo run --release -p nahual-text-viewer-llimphi # text viewer
Viewers
text · image (PNG/JPEG/WebP) · audio · video · svg · map (geo) · font (TTF/OTF glyph outlines) · hex · table · markdown · archive (zip/tar) · card · gallery · tree — plus nahual-viewer-core / nahual-source-core / nahual-thumb-core and the meta-runtime + meta-schema libraries.
How dependencies work
This is a clean front-door repo: it contains only nahual's own crates. Everything else is pulled as a git dependency —
- the Llimphi UI framework →
llimphi.git - foundational crates (content discern, media decoders, content-addressed sources, shared leaves) → the
tawasuyumonorepo, the suite's source of truth.
No vendoring, no duplication. First build clones those repos (cached afterwards).
Considerations
- Viewers, not editors. To edit text use
nada; to edit an image usepineal. - The media viewers decode AV1/Opus/FLAC/MP3/Vorbis/WebM natively (pure-Rust, no ffmpeg).
- Cross-platform Llimphi UI (Linux/macOS/Windows); viewers also compile inside the Wawa kernel.