Every channel lives here in the one monorepo (no per-package repos), modeled on pairux.com. GitHub Releases is the source of truth; each channel consumes the release assets. Goal: every major OS + open-source platform.
| OS / family | Channel | Manifest | Status |
|---|---|---|---|
| All | curl | sh |
apps/web/public/install.sh |
✅ live |
| All | GitHub Releases | release.yml |
✅ live |
| macOS / Linux | Homebrew | homebrew/ |
🟡 formula ready (needs tap repo) |
| Windows | Scoop | scoop/ |
⬜ needs win zip hash |
| Windows | winget | winget/ |
⬜ needs winget-pkgs PR |
| Windows | Chocolatey | chocolatey/ |
⬜ needs CHOCOLATEY_API_KEY |
| Debian / Ubuntu | apt (.deb) | deb-rpm/ (nfpm) |
✅ built in CI |
| RedHat / Fedora / SUSE | rpm (.rpm) | deb-rpm/ (nfpm) |
✅ built in CI |
| Arch | AUR | aur/PKGBUILD |
🟡 needs AUR_SSH_KEY |
| Gentoo | ebuild | gentoo/ |
🟡 overlay ready |
| NixOS | Nix | nix/tronbrowser.nix |
🟡 ready |
| Ubuntu / universal | Snap | snap/snapcraft.yaml |
🟡 classic snap (Snap Store login) |
| Universal Linux | Flatpak | flatpak/ |
🟡 manifest ready (Flathub PR) |
| Universal Linux | AppImage | appimage/ |
✅ built in CI |
| FreeBSD | port | freebsd/ |
🟡 port ready |
| Librem 5 / PinePhone / Ubuntu Touch | curl | sh (arm64) |
install.sh | ✅ noarch launcher |
| iOS / Android | Expo / EAS | apps/mobile |
🚧 Phase 2 |
release.yml on a v* tag:
- create-release — draft GitHub Release.
- build matrix —
ubuntu(linux tar.gz + .deb + .rpm + AppImage),macos(zip),windows(win zip); each uploads viagh release upload. - publish — un-draft.
submit-packages.yml on release publish
(or dispatch) runs scripts/submit-packages.mjs
to refresh each manifest's version + sha256 from the release assets and submit per
channel — gated on that channel's secret, dry-run by default.
bash apps/desktop/scripts/build-release.sh v0.1.1 linux # tar.gz
bash distribution/deb-rpm/build.sh v0.1.1 # .deb + .rpm (needs nfpm)
bash distribution/appimage/build.sh v0.1.1 # .AppImage
node scripts/submit-packages.mjs -v 0.1.1 -p all --dry-runAUR_SSH_KEY, GPG_PRIVATE_KEY/GPG_PASSPHRASE, CHOCOLATEY_API_KEY,
SNAPCRAFT_STORE_CREDENTIALS, PKG_SUBMIT_TOKEN (tap/bucket/winget-pkgs/Flathub
PRs). Until set, channels dry-run.