Skip to main content

🏒 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.

AppDescriptionStatusInstall
Tables πŸ“ŠSpreadsheet β€” 400+ functions, CSV/XLSX/ODSActiveflatpak install tuna-os io.github.hanthor.tables
Decks πŸ“½οΈPresentations β€” PPTX/ODP, Reveal.js exportActiveflatpak install tuna-os io.github.hanthor.decks
Letters πŸ“Word processor β€” DOCX/ODT/MD/HTML, PDF exportActiveflatpak 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:

πŸ“½οΈ Decks (Presentations)​

Create and present slide decks with:

πŸ“ 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