Milestone 546 "Bring the repo to the comment standard (rule 32) and compose defaults (rule 198)", step #6224 "Comment standard sweep: Rust core and desktop client". Doc comments and comments across inkwell-core, the Tauri app and desktop/packaging now say what the code does and the non-obvious why in the present tense. Gone: milestone tags (M10.x, M11.3, M13, M304, M315, M314, milestone 325), issue and Scribe-note numbers, family-idea and family-rule citations, the run numbers and commit hashes behind past bugs, and the narration of what used to be (the stable channel before it held its own bundles, CARGO_PKG_VERSION as the shown version, the MANIFEST_TAG split, the store's missing tests, the old PKGBUILD). The schema's migration notes keep what each step does and why, without "until now". The forge is called the forge rather than Forgejo. Hazards stay as facts: the dev-rolling tag that must not shadow the branch, the manifest matched on this build's version, the APK's fixed name surviving the prune, the LIKE guard in v9, -wal/-shm moving with the renamed store, panic = abort ending the app. 34 files, comments only: a comment-stripping diff of every changed file against HEAD is identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Inkwell desktop — Arch package
A prebuilt native pacman package, published as an asset on every Inkwell 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:
curl -fsSL https://git.fabledsword.com/bvandeusen/inkwell/raw/branch/dev/desktop/packaging/install.sh | sh
That installs the newest build from main. To follow the rolling development
channel instead, pass the flag through the pipe:
curl -fsSL https://git.fabledsword.com/bvandeusen/inkwell/raw/branch/dev/desktop/packaging/install.sh | sh -s -- --channel dev
Or grab the .pkg.tar.* from the
releases page
and install it directly:
sudo pacman -U inkwell-*-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/inkwell— the app/usr/share/applications/inkwell.desktop— the menu entry/usr/share/icons/hicolor/*/apps/inkwell.png— themed icons
Launch Inkwell from your app menu, or run inkwell.
Uninstall: sudo pacman -R inkwell.
The package was called thoughtsync until the app was renamed Inkwell, and
thoughtsync-desktop before that. It declares replaces/conflicts on both
names, so an upgrade from either is a normal pacman -U and leaves nothing
behind.
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.