# PKGBUILDS Automated AUR packages, kept up to date by GitHub Actions. Every 6 hours the [update workflow](.github/workflows/update.yml) checks each package's upstream for a new release. When one is found it: 1. updates the `PKGBUILD` (pkgver/pkgrel/sha256sums), 2. test-builds it with `makepkg` and regenerates `.SRCINFO`, 3. commits the changes back to this repository, and 4. pushes the package files to the AUR. ## Ground rule **This repository never hosts a binary.** Every `PKGBUILD` sources what *upstream* published — a release tarball, `.deb`, wheel or AppImage — and either repackages it (`-bin`) or builds it (no suffix), exactly like any hand-written AUR package would. CI only bumps `pkgver` and the checksums. This is not a style preference. The [AUR submission guidelines](https://wiki.archlinux.org/title/AUR_submission_guidelines#Rules_of_submission) say: > Packages that use **prebuilt** deliverables, when the sources are available, > must use the `-bin` suffix. […] The AUR should not contain the binary > tarball created by makepkg A `-bin` package repackages what upstream ships. Building the software yourself, publishing the result as a release asset and having the AUR `PKGBUILD` download *that* makes this repository an unofficial binary repository — users can no longer verify that the package matches what upstream released. Packages set up that way were removed from the AUR in July 2026; do not reintroduce the pattern. If upstream ships no Linux binary, there are exactly two options: build from source in the `PKGBUILD` (and drop the `-bin` suffix), or don't package it. ## Packages | Package | Upstream | Upstream deliverable | AUR | |---|---|---|---| | `bottles-opener` | [LoonixTools/bottles-opener](https://github.com/LoonixTools/bottles-opener) — double-click a file and it opens in its Windows program inside Bottles, with the file types and icons from the bottle's registry | *built from source* | [bottles-opener](https://aur.archlinux.org/packages/bottles-opener) | | `bt-volume-step` | [LoonixTools/bt-volume-step](https://github.com/LoonixTools/bt-volume-step) — corrects the coarse internal volume grid of Bluetooth audio devices on PipeWire | *built from source* | [bt-volume-step](https://aur.archlinux.org/packages/bt-volume-step) | | `cachy-auto-update` | [LoonixTools/cachy-auto-update](https://github.com/LoonixTools/cachy-auto-update) — unattended background updates for CachyOS (pacman, AUR, Flatpak, AppImages) | *built from source* | [cachy-auto-update](https://aur.archlinux.org/packages/cachy-auto-update) | | `chiaki-ng-bin` | [streetpea/chiaki-ng](https://github.com/streetpea/chiaki-ng) — PlayStation Remote Play client (Qt6) | AppImage | [chiaki-ng-bin](https://aur.archlinux.org/packages/chiaki-ng-bin) | | `chromium-widevine-helper` | [GloriousEggroll/chromium-widevine-helper](https://github.com/GloriousEggroll/chromium-widevine-helper) — extension + native helper installing Google's Widevine CDM into Chromium-based browser profiles | *no build step* | [chromium-widevine-helper](https://aur.archlinux.org/packages/chromium-widevine-helper) | | `concat` | [jub0t/Concat](https://github.com/jub0t/Concat) — free and open-source CapCut replacement (a Slint window over a Rust video engine) | *built from source* | [concat](https://aur.archlinux.org/packages/concat) | | `concat-bin` | [jub0t/Concat](https://github.com/jub0t/Concat) — prebuilt release of `concat` | `.deb` | [concat-bin](https://aur.archlinux.org/packages/concat-bin) | | `concat-git` | [jub0t/Concat](https://github.com/jub0t/Concat) — `main` branch of `concat` | *built from source* | [concat-git](https://aur.archlinux.org/packages/concat-git) | | `faugus-launcher-bin` | [Faugus/faugus-launcher](https://github.com/Faugus/faugus-launcher) — launcher for Windows games via UMU-Launcher | `.deb` (`all`) | [faugus-launcher-bin](https://aur.archlinux.org/packages/faugus-launcher-bin) | | `fluxer-bin` | [fluxer.app](https://fluxer.app) — Fluxer desktop client (Electron) | tarball | [fluxer-bin](https://aur.archlinux.org/packages/fluxer-bin) | | `kitty-tune-bin` | [alan7383/KittyTuneDesktop](https://github.com/alan7383/KittyTuneDesktop) — SoundCloud and YouTube music player (Kotlin/Compose Multiplatform) | `.deb` | [kitty-tune-bin](https://aur.archlinux.org/packages/kitty-tune-bin) | | `lunar-client-bin` | [lunarclient.com](https://lunarclient.com) — Minecraft PvP modpack launcher | AppImage | [lunar-client-bin](https://aur.archlinux.org/packages/lunar-client-bin) | | `middleclick-autoscroll` | [LoonixTools/middleclick-autoscroll](https://github.com/LoonixTools/middleclick-autoscroll) — enables middle-click autoscroll in every application that supports it | *built from source* | [middleclick-autoscroll](https://aur.archlinux.org/packages/middleclick-autoscroll) | | `modrinth-app-bin` | [modrinth/code](https://github.com/modrinth/code) — Minecraft mod manager/launcher | `.deb` | [modrinth-app-bin](https://aur.archlinux.org/packages/modrinth-app-bin) | | `modrinth-enhanced` | [Felitendo/Modrinth-Enhanced](https://github.com/Felitendo/Modrinth-Enhanced) — Modrinth App without ads or telemetry, with offline and Ely.by accounts (a patch series on top of each Modrinth App release) | *built from source* | [modrinth-enhanced](https://aur.archlinux.org/packages/modrinth-enhanced) | | `modrinth-enhanced-bin` | [Felitendo/Modrinth-Enhanced](https://github.com/Felitendo/Modrinth-Enhanced) — prebuilt release of `modrinth-enhanced` | `.deb` | [modrinth-enhanced-bin](https://aur.archlinux.org/packages/modrinth-enhanced-bin) | | `moondeckbuddy` | [FrogTheFrog/moondeck-buddy](https://github.com/FrogTheFrog/moondeck-buddy) — host companion of the MoonDeck Steam Deck plugin (C++/Qt6) | *built from source* | [moondeckbuddy](https://aur.archlinux.org/packages/moondeckbuddy) | | `moondeckbuddy-bin` | [FrogTheFrog/moondeck-buddy](https://github.com/FrogTheFrog/moondeck-buddy) — prebuilt release of `moondeckbuddy` | AppImage | *not published yet* | | `nextcloud-native` | [Obiente/native](https://github.com/Obiente/native) — adaptive native Nextcloud client for files, media and installed server apps (Compose Multiplatform, unofficial) | *built from source* | [nextcloud-native](https://aur.archlinux.org/packages/nextcloud-native) | | `nextcloud-native-bin` | [Obiente/native](https://github.com/Obiente/native) — prebuilt release of `nextcloud-native` | `.deb` | [nextcloud-native-bin](https://aur.archlinux.org/packages/nextcloud-native-bin) | | `nextcloud-native-git` | [Obiente/native](https://github.com/Obiente/native) — `main` branch of `nextcloud-native` | *built from source* | [nextcloud-native-git](https://aur.archlinux.org/packages/nextcloud-native-git) | | `plasma-face-unlock` | [LoonixTools/plasma-face-unlock](https://github.com/LoonixTools/plasma-face-unlock): Face ID for KDE Plasma, for the lock screen, sudo and admin prompts, with a photo check (C++/Qt6, OpenCV) | *built from source* | [plasma-face-unlock](https://aur.archlinux.org/packages/plasma-face-unlock) | | `plezy-bin` | [edde746/plezy](https://github.com/edde746/plezy) — Plex, Jellyfin and Emby client (Flutter); the source package [lives in `extra`](https://archlinux.org/packages/extra/x86_64/plezy/) | `.deb` | [plezy-bin](https://aur.archlinux.org/packages/plezy-bin) | | `sharpemu-bin` | [sharpemu/sharpemu](https://github.com/sharpemu/sharpemu) — experimental PlayStation 5 emulator | tarball | [sharpemu-bin](https://aur.archlinux.org/packages/sharpemu-bin) | | `snapx-bin` | [SnapXL/SnapX](https://github.com/SnapXL/SnapX) — ShareX-fork screenshot/sharing tool | self-contained tarball | [snapx-bin](https://aur.archlinux.org/packages/snapx-bin) | | `tenzen-studio-bin` | [tenzen.studio](https://tenzen.studio) — Tenzen Studio, screen recorder and editor for product demos (proprietary Electron app) | Flatpak bundle | [tenzen-studio-bin](https://aur.archlinux.org/packages/tenzen-studio-bin) | | `timetable` | [ostfriese4/untis](https://codeberg.org/ostfriese4/untis) — "Timetable", a GTK4 + LibAdwaita client for WebUntis | *built from source* | [timetable](https://aur.archlinux.org/packages/timetable) | | `vacuumtube-bin` | [shy1132/VacuumTube](https://github.com/shy1132/VacuumTube) — YouTube Leanback (TV UI) with built-in adblocker | `.deb` | [vacuumtube-bin](https://aur.archlinux.org/packages/vacuumtube-bin) | | `waydroid-helper-bin` | [waydroid-helper/waydroid-helper](https://github.com/waydroid-helper/waydroid-helper) — GTK4 GUI for Waydroid configuration and extensions | AppImage | [waydroid-helper-bin](https://aur.archlinux.org/packages/waydroid-helper-bin) | | `wiiudownloader-bin` | [Xpl0itU/WiiUDownloader](https://github.com/Xpl0itU/WiiUDownloader) — Wii U title downloader (Go + GTK4) | AppImage | [wiiudownloader-bin](https://aur.archlinux.org/packages/wiiudownloader-bin) | | `zapzap-bin` | [rafatosta/zapzap](https://github.com/rafatosta/zapzap) — WhatsApp desktop client (PyQt6 + WebEngine) | wheel | [zapzap-bin](https://aur.archlinux.org/packages/zapzap-bin) | ## Setup (one-time) 1. Create an [AUR account](https://aur.archlinux.org/register) and add an SSH public key to it (AUR account settings). 2. Add the matching **private** key as a repository secret named `AUR_SSH_PRIVATE_KEY` (Settings → Secrets and variables → Actions → New repository secret). 3. Optionally set the repository variable `AUR_GIT_NAME` and the repository **secret** `AUR_GIT_EMAIL` to control the commit identity used on the AUR (defaults: `Felitendo` / the maintainer's GitHub noreply address). The first push to `ssh://aur@aur.archlinux.org/.git` creates the AUR package automatically. ## Adding a package Check first that upstream actually publishes a Linux binary, that the package is not already in the **official repositories** (the AUR rejects the push outright: "package already provided by [extra]"), and that the AUR does not already carry an equivalent package — a `-bin` next to a maintained source package is fine, a second copy of the same thing is not. Then create a directory named after the AUR package containing: - **`PKGBUILD`** — sources upstream's release URLs directly. `pkgver`, `pkgrel` and `sha256sums` are maintained by CI, so keep `sha256sums` on a single line. - **`pkg.sh`** — bash sourced by [scripts/update-package.sh](scripts/update-package.sh), defining: - `latest_version` — prints the latest upstream version, no `v` prefix. A channel that has stopped pointing at a release can return `75` (`EX_TEMPFAIL`) instead: the run then warns, keeps the version the `PKGBUILD` has and carries on, so packaging changes still reach the AUR (`fluxer-bin`). - `refresh_checksums ` — updates the `sha256sums*` lines for that version. If the asset name carries build metadata that does not follow from `pkgver` (see `snapx-bin`, `faugus-launcher-bin`), resolve it via the GitHub API here and sync an `_asset` variable in the `PKGBUILD` too. - `BUILD_DEPS` — optional array of Arch packages to install before the CI test build; only needed by packages that build from source or need a tool to unpack upstream's deliverable (`tenzen-studio-bin`: `ostree`). - `AUR_PUBLISH` — optional; set to `false` to keep a package out of the AUR while it is still being prepared. Everything else still runs, so the `PKGBUILD` is kept current and test-built; only the publishing waits. Flip it to `true` to go live (`moondeckbuddy-bin`). Other local source files in the directory (`.desktop` files, patches, …) are pushed to the AUR alongside `PKGBUILD` and `.SRCINFO`. The workflow discovers package directories automatically. Trigger a run manually via *Actions → Update AUR packages → Run workflow* to publish it immediately. To update only some packages, enter their directory names, separated by commas (e.g. `concat, plezy-bin`); leave the field empty to update all of them.