Files
moonarch-pkgbuilds/README.md
T
nevaforget 18d9edb299
Build and publish packages / build-and-publish (push) Successful in 14s
feat(moonarch-git): drop moonlock and moonset dependencies
The power menu is a Quickshell popout now, which retired moonset and
with it the last caller of moonlock. Only sweet-cursors is left from the
own registry. pkgrel 19 to trigger the build.
2026-08-14 19:32:51 +02:00

2.6 KiB

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, Quickshell, Catppuccin Mocha)
corsairctl Corsair headset control
sshfsc SSHFS connect helper
sweet-cursors-git Sweet cursor theme

Greeter, lock screen and power menu are no longer own packages since 2026-08-14: greetd-regreet and swaylock come from the official repos, the power menu is a Quickshell popout shipped inside moonarch-git. The moongreet/, moonlock/ and moonset/ directories are still here, unbuilt — the CI only builds a PKGBUILD that changed, so they cost nothing and keep the way back open.

Setup

The Moonarch installer configures /etc/pacman.conf with:

[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

paru -S moonarch-git   # pulls in all ecosystem packages as dependencies

Update

paru -Syu

Version bumps land in the registry automatically:

  1. A version tag (v*) pushed in moonset, corsairctl or sshfsc — or a push on main of moonarch, which is a VCS package — 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.

curl -s https://gitea.moonarch.de/api/packages/nevaforget/arch/moonarch/x86_64/moonarch.db \
  | tar -tz | grep <pkgname>

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:

paru -Syu --overwrite=/path/to/conflicting/file