# ThoughtSync desktop — Arch package A **prebuilt** native pacman package, published as an asset on every ThoughtSync release. Nothing to compile, no toolchain to install. Installing natively on Arch matters for more than tidiness: pacman pulls `webkit2gtk-4.1` itself and the app runs against your system's graphics stack, which is what keeps the bundled-library `EGL_BAD_PARAMETER` black window (issue 2021) from coming back. It also means the app is package-manager tracked and uninstalls cleanly. ## Install Easiest — the one-command installer picks this package automatically on any pacman system: ```sh curl -fsSL https://git.fabledsword.com/bvandeusen/thoughtsync/raw/branch/dev/desktop/packaging/install.sh | sh ``` That installs the newest tagged release. To follow the rolling development channel instead, pass the flag through the pipe: ```sh curl -fsSL https://git.fabledsword.com/bvandeusen/thoughtsync/raw/branch/dev/desktop/packaging/install.sh | sh -s -- --channel dev ``` Or grab the `.pkg.tar.*` from the [releases page](https://git.fabledsword.com/bvandeusen/thoughtsync/releases) and install it directly: ```sh sudo pacman -U thoughtsync-desktop-*-x86_64.pkg.tar.* ``` The compression suffix depends on what the build image provides — `.zst` when `zstd` is installed, otherwise `.xz` (today's builds are `.xz`). pacman reads all of them; only the filename differs. Either way you get: - `/usr/bin/thoughtsync` — the app - `/usr/share/applications/thoughtsync.desktop` — the menu entry - `/usr/share/icons/hicolor/*/apps/thoughtsync.png` — themed icons Launch **ThoughtSync** from your app menu, or run `thoughtsync`. Uninstall: `sudo pacman -R thoughtsync-desktop`. ## How the package is built `package-prebuilt.sh` runs in CI (`.forgejo/workflows/desktop.yml`) and wraps the binary the Linux build already produced into a pacman package — it does not compile anything a second time. Packaging a Debian-compiled binary for Arch is safe here because the binary bundles nothing: it resolves `libwebkit2gtk-4.1.so.0`, `libgtk-3.so.0` and `libsoup-3.0.so.0` by SONAME at runtime and those are identical on both distros, SQLite is compiled in (`rusqlite` "bundled"), and glibc's forward compatibility means building on Debian's older glibc and running on Arch's newer one is the safe direction. CI is Debian and has no `pacman`, so it cannot install-test the result. The build step instead logs the package's `.PKGINFO` and complete file listing, so the package is auditable from the run log; a real `pacman -U` is the final proof. ## Previously This directory used to hold a source-build `PKGBUILD` requiring `makepkg -si` with `rust` + `nodejs` + `npm` installed. It was removed once prebuilt packages shipped — asking every user to install a compiler toolchain isn't distribution.