π’ TunaOS GTK Office Suite
A complete, native office suite for GNOME β built in Rust and GTK 4 with Libadwaita. Three apps, one shared scaffold, all distributed as Flatpaks.
| App | Description | Status | Install |
|---|---|---|---|
| Tables π | Spreadsheet β 400+ functions, CSV/XLSX/ODS | Active | flatpak install tuna-os io.github.hanthor.tables |
| Decks π½οΈ | Presentations β PPTX/ODP, Reveal.js export | Active | flatpak install tuna-os io.github.hanthor.decks |
| Letters π | Word processor β DOCX/ODT/MD/HTML, PDF export | Active | flatpak install tuna-os net.codelogistics.letters |
β¨ Why a Rust Office Suite?β
Most Linux office suites are either:
- Monolithic C++ (LibreOffice) β powerful but heavy, slow to start
- Web-based (Google Docs, OnlyOffice) β not native, requires a browser
- Proprietary (WPS Office) β not open source
TunaOS's office suite is different:
- π¦ Rust β memory-safe, fast, and modern
- π¨ GTK 4 + Libadwaita β native GNOME look and feel
- π¦ Flatpak β sandboxed, auto-updating, dependency-free
- π Shared scaffold β common chrome, WebKit bridge, and file I/O via
suite-common - π§© Interchangeable engines β each app uses best-in-class libraries under the hood
π Quick Installβ
Add the TunaOS Flatpak remote and install any app:
flatpak remote-add tuna-os oci+https://tuna-os.github.io/flatpak-index
# Install all three
flatpak install tuna-os io.github.hanthor.tables
flatpak install tuna-os io.github.hanthor.decks
flatpak install tuna-os net.codelogistics.letters
π Tables (Spreadsheet)β
A full-featured spreadsheet application powered by:
- Jspreadsheet CE β spreadsheet grid engine
- HyperFormula β 400+ calculation functions
- openpyxl / python-calamine β XLSX read/write
- odfpy β ODS format support
π½οΈ Decks (Presentations)β
Create and present slide decks with:
- Fabric.js β canvas-based slide editing
- Reveal.js β fullscreen HTML presentations
- python-pptx β PPTX read/write
- Pillow β PDF export
π Letters (Word Processor)β
A distraction-free writing experience with:
- pandoc β universal document conversion
- weasyprint β PDF export with CSS styling
- DOCX, ODT, Markdown, and HTML support
Letters is a hard fork of the original Letters by Satvik Patwardhan, maintained as part of the TunaOS office suite.
π οΈ Contributingβ
All three apps are written in Rust with GTK 4 and Libadwaita bindings. They share the suite-common scaffold and suite-common-rust libraries.
Good first contributions:
- Add a unit test
- Improve error handling
- Fix an accessibility issue
- Translate UI strings
- Write documentation
Development setupβ
# Clone the shared scaffold and an app
git clone https://github.com/tuna-os/suite-common.git
git clone https://github.com/tuna-os/tables.git
cd tables
# Build and run
cargo build
cargo run
π See alsoβ
- Flatpak Index β all TunaOS Flatpaks
- Corral β VM management for development environments
- Tacklebox β multi-boot media creator