The blanket WantedBy-symlink loop installed a global-scope link for
wlsunset, which meant `systemctl --user disable` (the waybar nightlight
toggle's mechanism) could never persist — systemd warned about exactly
this scope mismatch on every disable. Filter survived reboots even when
the user turned it off.
PKGBUILD now skips wlsunset; moonarch.install drops the legacy symlink
on upgrade. pkgrel bumped so installed systems pick up the fix.
Pre-bump to match moonarch HEAD ahead of push so pkgver-bot detects
"already up to date" and skips a redundant build trigger. Without
this, pushing moonarch first would push another pkgver-bump commit
here and re-trigger build-and-publish a second time.
The udev rule for charge_control_end_threshold permissions has been
removed in moonarch (commit 952776c). The toggle now dispatches a
pkexec helper instead. PKGBUILD no longer needs to install the rule.
The pkgver bump in this PKGBUILD will be picked up automatically by
pkgver-bot on the next moonarch push.
Run 107's clear loop on sweet-cursors deleted the just-uploaded moongreet-git versions. Track per-package "just built" version and skip it in the DELETE loop. Add .type=="arch" jq filter as defense-in-depth.
Run 108 hit a verified global OOM (constraint=CONSTRAINT_NONE) when cargo -j2 ran two parallel rustc workers on a host with 1.6 GiB available. -j1 halves the peak. 4 GiB swapfile added on host as additional buffer; this changes the build pipeline as the second layer.
Run 106 hung the host before I/O caps were in place. act_runner now has 30 MB/s + 500 IOPS hard limits via blkio_config; this commit retriggers the build that failed mid-compile.
Local AUR/older builds outsort the registry versions on pacman vercmp:
- sweet-cursors-git: paru-built r445 (Gigas002/Sweet#cursors) > registry
r1 (our snapshot fork). Snapshot stays frozen by design.
- moongreet-git: pre-rollback 0.10.0 > current 0.8.6 (upstream tag
history continued at 0.8.4–0.8.6 on top of an earlier 0.10.0 line).
epoch=1 on both, pkgrel bumped to retrigger CI. Also extends .gitignore
to cover the remaining makepkg bare-clone dirs (moongreet, moonlock,
moonset, sshfs_connect) that weren't listed before.
Initial sshfsc-git build (run #150, 2026-04-19) failed with
'go: command not found' — at that point the workflow did not yet
install makedepends. Workflow now reads makedepends from PKGBUILD
and installs them via pacman before makepkg, so a fresh trigger
should succeed.
Install mpv.conf straight to /etc/mpv/mpv.conf in package(), remove
the /usr/share/moonarch/mpv/ staging and the post_install copy.
modernz.conf is no longer shipped — overrides moved into mpv.conf
via script-opts-append.
Stages defaults/etc/mpv/ to /usr/share/moonarch/mpv/ and copies
mpv.conf + modernz.conf into /etc/mpv/ on install. modernz.conf
deliberately overwrites the AUR default from mpv-modernz-git.
pkgrel bumped to 11.
The compose mount `./runner-cargo-target:/cache/target` already
persists the target dir. Set CARGO_HOME to a subdir of that mount so
the downloaded-crates index + git cache survive too — otherwise every
build re-fetches every dep. No server-side compose change needed.
The previous CARGO_BUILD_JOBS=1 + nice + ionice throttling rested on an
assumed OOM diagnosis for run 86 (2026-04-23) that was never confirmed
via dmesg/journalctl. Build times tripled for no verified reason.
Remove the throttle; if a real OOM is captured in the future, re-add
limits with actual evidence.
The act_runner exports CARGO_TARGET_DIR=/cache/target for cache
persistence, but the three Rust-app PKGBUILDs hardcoded
target/release/<bin>. Run 87 compiled 8 min then failed at
install stage. Use ${CARGO_TARGET_DIR:-target} so both CI and
local makepkg work.
Parallel Rust builds have OOM-killed the Gitea host twice
(2026-04-20, 2026-04-23 run 86). Force CARGO_BUILD_JOBS=1,
MAKEFLAGS=-j1, and wrap makepkg with nice+ionice so the
act_runner can't drown the shared host.
moongreet/moonlock/moonset link against gtk4 headers at build time.
The CI workflow runs `makepkg -sfd` and only installs makedepends
explicitly — with gtk4 listed only in depends, the build container
had no cairo.pc / gtk4.pc and cairo-sys-rs failed to find the
system library. Add gtk4, gtk4-layer-shell, pkgconf (plus
gtk-session-lock + pam for moonlock) to makedepends.
This previously only worked because repeated `makepkg -s` runs
left the libs installed in the act_runner container filesystem.
Recreating the runner today exposed the latent gap.
Ships config/polkit/50-moongreet-power.rules (new in moongreet v0.8.3)
to /usr/share/polkit-1/rules.d/ so the greeter user can reboot and
power off without authentication.
Reset pkgrel to 1 — the pkgver bump to 0.8.3 will be picked up by
pkgver-bot after the moongreet tag is pushed.
Promote moongreet-git/moonlock-git/moonset-git and ~30 Arch-repo
essentials (networkmanager, bluez, wlsunset, xwayland-satellite,
file-manager stack, portals, zsh plugins, CLI tools, neovim, git,
ufw, fwupd, etc.) from optdepends (or absent) to hard depends.
Previously a fresh `paru -S moonarch-git` installed the configs but
none of the packages they depend on, producing a non-functional
Moonarch — no greeter, no lockscreen, no launcher, no network stack.
AUR packages cannot be hard depends (pacman cannot resolve AUR),
so they remain in moonarch's packages/aur.txt and post-install.sh
pulls them explicitly. optdepends trimmed to real extras —
docker, rustup (for dev), waterfox.