Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ You can also just install the desktop app. It's cooler.

Install the [desktop app from the Releases page](https://github.com/pingdotgg/t3code/releases)

On Linux, the AppImage is still the main release artifact. If your desktop does not integrate AppImages cleanly, there is also an optional installer bundle in `linux-installer/` that adds desktop integration, FUSE fallback handling, and update/reinstall/uninstall helpers for the existing AppImage release assets.

## Some notes

We are very very early in this project. Expect bugs.
Expand Down
5 changes: 5 additions & 0 deletions docs/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ This document covers how to run desktop releases from one tag, first without sig
- Includes Electron auto-update metadata (for example `latest*.yml` and `*.blockmap`) in release assets.
- Publishes the CLI package (`apps/server`, npm package `t3`) with OIDC trusted publishing.
- Signing is optional and auto-detected per platform from secrets.
- Linux can also ship an optional `linux-installer/` bundle that wraps the released AppImage with desktop-focused install and maintenance helpers.

## Desktop auto-update notes

Expand All @@ -36,6 +37,10 @@ This document covers how to run desktop releases from one tag, first without sig
- platform installers (`.exe`, `.dmg`, `.AppImage`, plus macOS `.zip` for Squirrel.Mac update payloads)
- `latest*.yml` metadata
- `*.blockmap` files (used for differential downloads)
- Optional Linux installer bundle:
- keep `linux-installer/` as a separate bundle around the AppImage rather than replacing the AppImage artifact
- if distributing it in a release, package the directory as a `.tar.gz` so users can download, extract, and run `install-t3-code-linux.sh`
- document clearly that it targets Linux desktop integration gaps like launcher setup, FUSE fallback, and update/reinstall/uninstall actions
- macOS metadata note:
- `electron-updater` reads `latest-mac.yml` for both Intel and Apple Silicon.
- The workflow merges the per-arch mac manifests into one `latest-mac.yml` before publishing the GitHub Release.
Expand Down
52 changes: 52 additions & 0 deletions linux-installer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# T3 Code Linux Installer

This is an optional desktop-focused Linux installer bundle for the existing T3 Code AppImage release artifacts. It is not a replacement for the AppImage itself.

## Why this exists

The raw AppImage is still the primary release artifact, but it does not integrate consistently across Linux desktops. This bundle smooths over the gaps that commonly show up in real installs:

- desktop entry and icon setup
- per-user install layout under `~/.local`
- FUSE detection with `--appimage-extract-and-run` fallback
- built-in update, reinstall, and uninstall actions
- GUI dialogs when `zenity` or `kdialog` is available

It is especially useful on systems where AppImage does not quite "just work" out of the box.

## What it does

- downloads the latest `T3-Code-*.AppImage` release from `pingdotgg/t3code`
- verifies the downloaded AppImage checksum when release metadata includes a digest
- installs the AppImage under `~/.local/bin` by default
- installs desktop entries and icons under `~/.local/share`
- keeps a local copy of the installer under `~/.local/share/t3-code/installer`
- adds launcher actions for update, reinstall, and uninstall

## Run it

```bash
chmod +x ./install-t3-code-linux.sh
./install-t3-code-linux.sh
```

## Common options

```bash
./install-t3-code-linux.sh --force
./install-t3-code-linux.sh --no-launch
./install-t3-code-linux.sh --quiet-current
./install-t3-code-linux.sh --system
```

## Bundled assets

- `assets/icons/t3-code-desktop-256.png`
- `assets/icons/t3-code-desktop-512.png`

## Notes

- designed for desktop Linux environments that follow freedesktop menus and icon paths
- installs per-user by default, so no `sudo` is required
- optional `--system` mode installs under `/opt/t3-code` and `/usr/local`
- requires `curl` and `python3`
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading