# Moonarch PKGBUILDs PKGBUILDs for the Moonarch ecosystem. Published as prebuilt Arch packages via the Gitea Package Registry at `gitea.moonarch.de`. ## Packages | Package | Description | |---------|-------------| | `moonarch-git` | Desktop environment defaults (Niri, Waybar, Catppuccin Mocha) | | `moonset-git` | Wayland session power menu | | `moonlock-git` | Wayland lockscreen with PAM and fingerprint support | | `moongreet-git` | greetd greeter for Wayland | | `sweet-cursors-git` | Sweet cursor theme | ## Setup The Moonarch installer configures `/etc/pacman.conf` with: ```ini [moonarch] SigLevel = Required DatabaseOptional Server = https://gitea.moonarch.de/api/packages/nevaforget/arch/$repo/$arch ``` No extra paru setup required — `pacman` and `paru` both resolve moonarch packages from the registry. ## Install ```bash paru -S moonarch-git # pulls in all ecosystem packages as dependencies ``` ## Update ```bash paru -Syu ``` Version bumps land in the registry automatically: 1. Push on `main` of `moonarch`, `moongreet`, `moonlock`, or `moonset` triggers the per-project `update-pkgver.yaml` — pkgver-bot commits a fresh `pkgver` to the matching PKGBUILD here. 2. That commit triggers `build-and-publish.yaml` (this repo): the runner builds every changed PKGBUILD and uploads the artifacts to the Arch registry. Before each upload all existing versions of the package are deleted so the repo DB stays clean — see `build-and-publish.yaml` for the rationale (zombie DB entries after pkgver changes). `sweet-cursors-git` has no upstream CI; bump its `pkgrel` manually when a rebuild is needed. ## Troubleshooting **`paru -Syu` shows no update even though a new version was published**: check the repo DB has the new version. ```bash curl -s https://gitea.moonarch.de/api/packages/nevaforget/arch/moonarch/x86_64/moonarch.db \ | tar -tz | grep ``` If only an old version appears there, the `build-and-publish` workflow did not run cleanly — inspect the latest run under `gitea.moonarch.de/nevaforget/moonarch-pkgbuilds/actions`. **File conflict on install** (`foo/bar exists in filesystem`): the file was placed manually before the package claimed ownership. Once: ```bash paru -Syu --overwrite=/path/to/conflicting/file ```