95 Commits
Author SHA1 Message Date
nevaforget 53f94e548f fix(moonarch-git): own /etc/swaylock/config, install blurred wallpaper
Build and publish packages / build-and-publish (push) Successful in 14s
swaylock never reads /etc/xdg/, so the config is installed explicitly to
/etc/swaylock/config — its SYSCONFDIR path — instead of going through the
generic defaults/xdg/ sweep. The home seeding drops out; pre_upgrade
retires the pristine copies it left behind (cmp against the still-old
/etc/xdg file, so an edited copy survives) and clears a manually deployed
/etc/swaylock/config that pacman would refuse to overwrite.

wallpaper-blur.jpg ships next to the plain wallpaper as the lock screen
background.
2026-08-18 17:37:55 +02:00
nevaforget 18d9edb299 feat(moonarch-git): drop moonlock and moonset dependencies
Build and publish packages / build-and-publish (push) Successful in 14s
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
nevaforget 3b4eb336d6 feat(moonarch-git): depend on greetd-regreet and swaylock
Build and publish packages / build-and-publish (push) Successful in 14s
Drops the moongreet dependency and adds the two upstream packages, so
pacman lets moongreet go on the clients. moonlock stays: moonset spawns
it by name.

The reference configs deployed into /etc/greetd/ are now regreet.toml and
regreet.css. post_install seeds ~/.config/swaylock/config, pre_upgrade
rewrites moonlock to swaylock -f in stasis configs that were seeded
before — that file is never overwritten, so an existing install would
otherwise keep calling a package on its way out.

The moongreet and moonlock PKGBUILD directories stay: the CI only builds
what changed, and deleting them would break the build step's cd.
2026-08-14 16:39:25 +02:00
nevaforget 1e4df98436 feat(moonarch-git): ship camera unit (pkgrel 17)
Build and publish packages / build-and-publish (push) Successful in 14s
moonarch-camera.service switches all cameras off on boot. System units are
installed file by file here, so a new one needs its own install line; the
enable is hardware-gated in post_install, like the batsaver service.

The four moonarch-camera-* scripts and the quickshell components need no
packaging change — they are covered by the defaults/bin glob and the
defaults/xdg find loop.
2026-07-29 16:50:02 +02:00
nevaforget 3d59072fe6 feat(moonarch-git): add quickshell dependency (pkgrel 16)
Build and publish packages / build-and-publish (push) Successful in 21s
quickshell becomes the default bar + notification daemon in the moonarch
session. The bar config ships automatically via the generic defaults/xdg
install loop; only the runtime package needs pulling in as a dependency.
Waybar + swaync stay in depends (kept as reserves, not removed).
2026-07-05 21:04:48 +02:00
nevaforget f7c0989bad fix(moonarch-git): add sweet-cursors dependency (pkgrel 15)
Build and publish packages / build-and-publish (push) Successful in 15s
Moonarch configures the Sweet-cursors theme in six places — greeter
(moongreet.toml, niri-greeter.kdl) and desktop (niri config.kdl, GTK 3/4
settings.ini) — but never declared the package that ships the theme.
On a fresh install the cursor theme was absent system-wide, so Niri and
GTK fell back to the default cursor; it only worked where sweet-cursors
happened to be present (e.g. installed into a user home).

sweet-cursors-git provides 'sweet-cursors'; listing it ensures the theme
is installed system-wide for both the greeter user and the desktop user.
2026-06-12 15:44:14 +02:00
nevaforget 8d9ab7a997 feat(moonarch-git): install xdg-desktop-portal Inhibit override
Build and publish packages / build-and-publish (push) Successful in 20s
pkgrel 13 -> 14.
2026-06-12 11:10:00 +02:00
nevaforget 1ddcda70e3 fix(sshfsc): commit no-suffix tag-build PKGBUILD (was not staged in f86d936 — git add aborted on stale sshfsc-git pathspec)
Build and publish packages / build-and-publish (push) Successful in 19s
2026-06-10 21:01:17 +02:00
nevaforget f86d936c9e refactor: sshfsc-git → sshfsc (no-suffix tag-build)
Build and publish packages / build-and-publish (push) Successful in 1m29s
2026-06-10 20:54:11 +02:00
nevaforget eafe7b6634 build(moonlock): bump pkgrel to rebuild — v0.6.17 tag now on Gitea (initial build pre-dated the tag push)
Build and publish packages / build-and-publish (push) Successful in 8m42s
2026-06-10 20:24:04 +02:00
nevaforget 9c05e33382 refactor: moonarch-git depends on renamed packages (pkgrel 13)
Build and publish packages / build-and-publish (push) Successful in 12s
2026-06-10 19:48:01 +02:00
nevaforget db05837b09 refactor: moongreet-git → moongreet (no-suffix tag-build, keep epoch)
Build and publish packages / build-and-publish (push) Successful in 8m48s
2026-06-10 19:38:25 +02:00
nevaforget a930117ec7 refactor: moonset-git → moonset (no-suffix tag-build)
Build and publish packages / build-and-publish (push) Successful in 8m39s
2026-06-10 19:29:09 +02:00
nevaforget 4c3b48d73f refactor: moonlock-git → moonlock (no-suffix tag-build)
Build and publish packages / build-and-publish (push) Failing after 5s
2026-06-10 19:26:59 +02:00
nevaforget 8aa127cbf0 fix(corsairctl): add alsa-lib + hidapi to makedepends (build-time libs)
Build and publish packages / build-and-publish (push) Successful in 2m10s
2026-06-10 19:11:38 +02:00
nevaforget 4fd0310818 feat: add corsairctl package (tag-build)
Build and publish packages / build-and-publish (push) Failing after 1m2s
2026-06-10 19:05:03 +02:00
nevaforget 5d4ace5cb0 feat(moonarch-git): install fontconfig defaults conf
Build and publish packages / build-and-publish (push) Failing after 14s
Owned install of /etc/fonts/conf.d/65-moonarch-fonts.conf alongside the existing /etc configs (mpv, systemd).
2026-06-08 13:49:10 +02:00
nevaforget b737bc7cee moonarch-git: skip wlsunset in global enable loop
Build and publish packages / build-and-publish (push) Successful in 18s
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.
2026-05-04 14:14:41 +02:00
nevaforget e6615bad76 chore(moonarch-git): bump pkgver to r123.952776c
Build and publish packages / build-and-publish (push) Successful in 16s
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.
2026-05-04 12:29:51 +02:00
nevaforget 7f7843ec41 moonarch-git: drop udev rule install, batsaver moved to pkexec
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.
2026-05-04 12:29:04 +02:00
nevaforget 14d4dde898 ci: only delete zombie versions, not the just-uploaded one
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.
2026-04-28 15:39:45 +02:00
nevaforget e5186c616f ci: cargo -j1 to keep peak memory under host budget; retrigger moongreet
Build and publish packages / build-and-publish (push) Successful in 9m0s
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.
2026-04-28 15:14:07 +02:00
nevaforget 77da854149 chore(moongreet-git): bump pkgrel to retrigger build after run 107 cross-package delete
Build and publish packages / build-and-publish (push) Failing after 10m22s
Run 107's sweet-cursors clear-block deleted moongreet-git from the registry (workflow bug). Single-PKGBUILD push avoids the multi-package code path.
2026-04-28 14:46:39 +02:00
nevaforget 0f85c50e6f chore: bump pkgrel to retrigger build after I/O caps applied
Build and publish packages / build-and-publish (push) Successful in 7m6s
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.
2026-04-28 10:10:26 +02:00
nevaforget e7398d479e chore: bump epoch on moongreet-git and sweet-cursors-git
Build and publish packages / build-and-publish (push) Failing after 32m18s
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.
2026-04-28 09:04:14 +02:00
nevaforget c6c0bf1552 chore(sshfsc-git): bump pkgrel to 2 to retrigger build
Build and publish packages / build-and-publish (push) Successful in 47s
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.
2026-04-25 14:28:31 +02:00
nevaforget 2566c0b44e refactor(moonarch-git): own mpv.conf directly, drop staging+install hook
Build and publish packages / build-and-publish (push) Successful in 12s
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.
2026-04-24 17:52:30 +02:00
nevaforget bb36df30bc feat(moonarch-git): stage + deploy mpv configs via post_install
Build and publish packages / build-and-publish (push) Failing after 9s
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.
2026-04-24 17:33:38 +02:00
nevaforget 6dea33bc22 Revert "ci(build): persist cargo registry via CARGO_HOME on existing volume"
This reverts commit bed8aa7f8879a0269d28349b82b1a2c6e8d58b9c.
2026-04-24 11:41:43 +02:00
nevaforget 11e8e1355a ci(build): persist cargo registry via CARGO_HOME on existing volume
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.
2026-04-24 11:41:43 +02:00
nevaforget 39b04d3829 ci(build): drop unverified OOM throttle, run cargo with -j2
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.
2026-04-24 11:41:43 +02:00
nevaforget 8db3a02bc6 chore(moongreet-git): bump pkgrel to retrigger build
Build and publish packages / build-and-publish (push) Successful in 12m4s
Run 88 died at 13:08 (container stopped externally, no OOM).
Runner recreated with 2.5g/2cpu limits. Retry only moongreet.
2026-04-23 13:29:20 +02:00
nevaforget 5fc1781262 fix(pkgbuild): honour CARGO_TARGET_DIR in install path
Build and publish packages / build-and-publish (push) Failing after 14m14s
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.
2026-04-23 13:04:31 +02:00
nevaforget cc5cf1c1e1 chore(moongreet-git): bump pkgrel to retrigger build
Build and publish packages / build-and-publish (push) Failing after 8m52s
Run 86 failed mid-compile (OOM on gitea host). Rebuild on the
new throttled pipeline (CARGO_BUILD_JOBS=1, nice/ionice).
2026-04-23 12:52:15 +02:00
nevaforget 972c832ec6 ci(build): single-threaded low-priority makepkg to spare host
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.
2026-04-23 12:51:20 +02:00
nevaforget 8d056eac0f fix(pkg): declare gtk4 build deps for GTK rust apps
Build and publish packages / build-and-publish (push) Successful in 16m7s
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.
2026-04-21 10:03:22 +02:00
nevaforget 07be812dbb feat(moongreet-git): install moongreet polkit rule
Build and publish packages / build-and-publish (push) Failing after 52s
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.
2026-04-21 09:15:54 +02:00
nevaforget da1e81aa8d refactor(moonarch-git): hard-dep ecosystem + Arch essentials, pkgrel 10
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.
2026-04-21 09:15:25 +02:00
nevaforget b4ee733827 feat(install): drop paru --pkgbuilds fallback, registry is the only path
Build and publish packages / build-and-publish (push) Successful in 12s
The moonarch.install hook used to ensure /etc/paru.conf had Mode = arp
and a [moonarch-pkgbuilds] section. Both exist to let paru resolve
moonarch packages from a PKGBUILD repo — a second mechanism parallel
to the Arch registry, redundant now that the registry DB is stable.

Hook now strips the legacy config on next upgrade. Bump pkgrel so every
installed system picks up the cleanup.
2026-04-20 14:19:01 +02:00
nevaforget 675c8bee45 docs: trim README to registry-only flow, log CI zombie-fix decisions
README now describes the Gitea Arch registry path as the canonical
install/update mechanism — the paru --pkgbuilds fallback is no longer
advertised to users. Adds troubleshooting for missing updates (check
the repo DB directly) and file conflicts.

DECISIONS.md records why the build-and-publish workflow now wipes all
existing versions before upload, and why three packages had to be
re-registered manually.
2026-04-20 14:15:44 +02:00
nevaforget c2ccdccff4 fix(ci): wipe all existing versions before upload to kill zombie DB entries
Build and publish packages / build-and-publish (push) Successful in 18s
Gitea's Arch registry doesn't regenerate the repo DB on pkgver change —
old entries linger as zombies (e.g. moonarch-git r99 stuck in moonarch.db
even though only r105 exists as a package). List all versions of each
built package and DELETE them before the upload so the DB gets rebuilt
cleanly. Bump moonarch-git pkgrel to force a rebuild and exercise the fix.
2026-04-20 14:09:33 +02:00
nevaforget ea44cb33c4 chore: bump pkgrel for moongreet/moonset/sweet-cursors
Build and publish packages / build-and-publish (push) Successful in 12m8s
Trigger build-and-publish for three packages never uploaded to the
Arch registry. Prior CI runs for these failed before the makedepends
fix landed.
2026-04-20 13:36:05 +02:00
nevaforget 80f0ec9e93 chore(moonarch-git): bump pkgrel to 7 to capture post-restart upload log
Build and publish packages / build-and-publish (push) Successful in 11s
2026-04-20 13:18:50 +02:00
nevaforget 2e7c2ee92a chore(moonarch-git): bump pkgrel to 6 to surface Gitea upload response
Build and publish packages / build-and-publish (push) Successful in 11s
2026-04-20 13:04:13 +02:00
nevaforget 8066091c43 debug(ci): always echo upload response body, not only on failure 2026-04-20 12:58:04 +02:00
nevaforget 46b28193c6 chore(moonarch-git): bump pkgrel to 5 to trigger build with hard-fail upload
Build and publish packages / build-and-publish (push) Successful in 9s
2026-04-20 12:48:40 +02:00
nevaforget 41a22d6281 fix(ci): fail hard when registry upload returns non-2xx
curl -sf was silencing upload errors: r105 was 'Published' six times
in a row but never landed in the registry. Capture the HTTP status
and abort on non-2xx so the run goes red and the response body shows
up in the log.
2026-04-20 12:47:26 +02:00
nevaforget e49d4e48b1 chore(moonarch-git): bump pkgrel to 4 after CI makedepends fix
Build and publish packages / build-and-publish (push) Successful in 11s
2026-04-20 12:45:08 +02:00
nevaforget 13567819ca fix(ci): source PKGBUILD to read makedepends reliably 2026-04-20 12:43:44 +02:00
nevaforget 386046b98c chore(moonarch-git): bump pkgrel to 3 to retrigger build after makedeps CI fix
Build and publish packages / build-and-publish (push) Failing after 1s
2026-04-20 12:39:22 +02:00
nevaforget 71a94ac74e fix(ci): install only makedepends, skip full depends via -d
moonarch-git's runtime depends include AUR-only packages (stasis,
auto-cpufreq, ttf-ubuntusans-nerd) that plain pacman cannot resolve,
so `makepkg -s` fails with "Could not resolve all dependencies" —
even though those runtime deps aren't needed to build the package.

Extract makedepends from PKGBUILD, install them targeted (cargo/go
for Rust and Go packages; empty for moonarch-git), then run makepkg
with -d so it skips the full dep check. Rust packages still get their
compiler, moonarch-git builds without needing the AUR world.
2026-04-20 12:38:40 +02:00
nevaforget 2c748ec5be chore(moonarch-git): bump pkgrel to 2 to republish r105 (i18n fix)
Build and publish packages / build-and-publish (push) Failing after 5s
2026-04-20 12:33:35 +02:00
nevaforget 4cbc8c9956 chore(moonlock-git): bump pkgrel to 5 to verify multi-artifact upload
Build and publish packages / build-and-publish (push) Successful in 4m13s
2026-04-20 11:35:09 +02:00
nevaforget 6c89ffd9cd fix(ci): upload every makepkg artifact, not just the first
PKGBUILDs with options=('debug') produce a main + -debug split pair.
The previous `ls -t | head -1` only uploaded one, and which one won
was mtime-dependent. Loop over all *.pkg.tar.zst and parse pkgname
per file (so -debug gets its own registry entry).
2026-04-20 11:34:59 +02:00
nevaforget 87336b7613 chore(moonlock-git): bump pkgrel to 4 to verify CI fix
Build and publish packages / build-and-publish (push) Successful in 4m16s
2026-04-20 11:27:37 +02:00
nevaforget 30f8c4100f docs(ci): harden pacman -Sy comment against future -Syu regressions
Explicit warning in the workflow so nobody reintroduces the -Syu that
took the Gitea host down on 2026-04-20.
2026-04-20 11:26:01 +02:00
nevaforget 8d1dacd6fa fix(ci): use pacman -Sy instead of -Syu to avoid host I/O overload
Previous -Syu triggered a full system upgrade inside the runner
container, which together with the concurrent Rust build saturated
the shared host and took Gitea down. -Sy just refreshes the package
DB, which is all makepkg -s actually needs to resolve current deps.
2026-04-20 10:04:34 +02:00
nevaforget 805b3e9318 chore(moonlock-git): bump pkgrel to 3 to trigger rebuild after CI fix
Build and publish packages / build-and-publish (push) Failing after 18m13s
2026-04-20 09:44:04 +02:00
nevaforget aab4b75352 fix(ci): pacman -Syu before build to refresh stale package DB
Runner container has a cached pacman DB that lists package versions
already rotated off the mirrors, causing 404s when makepkg -s tries
to pull makedepends (gtk4, mesa, llvm-libs). Sync the DB first.
2026-04-20 09:43:45 +02:00
nevaforget 86327fd1f2 chore(moonlock-git): bump pkgrel to 2 to trigger rebuild
Build and publish packages / build-and-publish (push) Failing after 5s
Previous build failed (cargo missing due to makepkg -d flag). CI fixed
in 49c7031. Bump pkgrel so the registry gets a fresh artifact.
2026-04-20 09:41:50 +02:00
nevaforget 49c7031315 fix(ci): drop -d from makepkg so makedepends get installed
makepkg -sfd skipped dependency checks, preventing `-s` from pulling
in rust/cargo (moonlock/moongreet/moonset) and go (sshfsc). Builds
failed with `cargo: command not found`. Remove `-d`; `-s` now installs
makedepends via pacman before the build.
2026-04-20 09:39:11 +02:00
nevaforget 2ff28405d5 chore(sshfsc-git): bump pkgver to 0.1.0.r0.geb93777
Build and publish packages / build-and-publish (push) Failing after 4s
2026-04-19 15:16:53 +02:00
nevaforget d74359f238 feat(sshfsc-git): add package
Build and publish packages / build-and-publish (push) Failing after 5s
2026-04-19 14:38:22 +02:00
nevaforget ed3557e4cd feat(moonarch-git): add moonarch-doctor + moondoc symlink
Build and publish packages / build-and-publish (push) Successful in 9s
2026-04-10 08:20:10 +02:00
nevaforget afcc3a5a05 feat(moonarch-git): add moonup symlink for moonarch-update
Build and publish packages / build-and-publish (push) Successful in 10s
2026-04-10 07:35:30 +02:00
nevaforget 13e7c18403 feat(moonarch-git): add jq dependency for waybar config merger
Build and publish packages / build-and-publish (push) Successful in 10s
2026-04-09 17:05:19 +02:00
nevaforget 0abdf15624 fix(moonarch-git): migrate cliphist.service to split text/image services
pre_upgrade hook removes old cliphist.service symlinks before the
package replaces it with cliphist-text and cliphist-image services.
2026-04-08 12:44:42 +02:00
nevaforget f837ecbeb4 fix(moonarch-git): remove untracked walker theme files before upgrade
Build and publish packages / build-and-publish (push) Successful in 1s
Walker theme files at /etc/xdg/walker/themes/moonarch/ were deployed
manually before the package owned them, causing pacman file conflicts
on upgrade. pre_upgrade hook now removes untracked files so pacman
can take ownership cleanly.
2026-04-08 09:59:09 +02:00
nevaforget 8e2fb5a9f5 feat(moonarch-git): package battery conservation mode assets
Add udev rule and systemd service to PKGBUILD. Create /var/lib/moonarch
state directory and enable batsaver restore service on laptops in the
post-install hook.
2026-04-08 09:59:09 +02:00
nevaforget b2cd82c6e4 refactor: remove user-defaults install from moonarch-git package
Build and publish packages / build-and-publish (push) Successful in 9s
The user-defaults mechanism (copying template files to ~/.config/)
was removed from moonarch. Waybar falls back to /etc/xdg/ via XDG
spec — no provisioning needed.
2026-04-07 17:29:20 +02:00
nevaforget ccc2d163e7 feat: install systemd user services to /etc/systemd/user/
Build and publish packages / build-and-publish (push) Successful in 8s
- PKGBUILD installs services directly to /etc/systemd/user/ and creates
  WantedBy symlinks (no manual systemctl --user enable needed)
- Install hook cleans up legacy user-level service files from
  ~/.config/systemd/user/
2026-04-07 11:28:55 +02:00
nevaforget 31efc0f697 fix: clean up legacy user-level paru config on install/upgrade
transform.sh previously wrote [moonarch] to ~/.config/paru/paru.conf.
This silently overrides the system-level /etc/paru.conf, breaking
package resolution for moongreet-git, moonlock-git, moonset-git.
2026-04-07 11:20:19 +02:00
nevaforget d626887123 fix: set up paru PKGBUILD repo config in install hook
Ensures paru can find moongreet-git, moonlock-git, moonset-git on
every install/upgrade. Breaks the bootstrap loop where moonarch-git
couldn't update itself because the paru config it delivers was missing.
2026-04-07 11:12:20 +02:00
nevaforget 1a84342f13 Remove debug logging from build workflow, use -sf for upload 2026-04-01 18:00:14 +02:00
nevaforget c9b6aab652 Debug: log HTTP status codes for upload and delete 2026-04-01 17:55:33 +02:00
nevaforget bad7680b4c Simplify build workflow for non-root runner
Runner now executes as builder user, so no su/chown/chmod needed.
makepkg runs directly without permission workarounds.
2026-04-01 17:49:15 +02:00
nevaforget c948396a1e Fix makepkg BUILDDIR: use current dir instead of root-owned cache 2026-04-01 16:57:01 +02:00
nevaforget 318d15567b Fix build workflow for host mode runner
Clean up stale repo dir, add safe.directory for git as root,
and chown repo to builder before makepkg.
2026-04-01 16:54:56 +02:00
nevaforget 6cf9bcd467 Remove setup step from build workflow
Dependencies (git, curl, builder user) are now provided by the
custom act_runner image. Only su builder for makepkg remains.
2026-04-01 16:43:59 +02:00
nevaforget 96a2574c7e Fix CI: run makepkg in Arch container with non-root user
The act_runner now uses docker mode with archlinux:base-devel.
Install git/curl and create a builder user since makepkg refuses
to run as root.
2026-04-01 15:44:11 +02:00
nevaforget 793c338968 Add CI workflow to build and publish packages to Gitea Registry
Triggers on PKGBUILD changes (from pkgver-bot commits).
Builds the changed package with makepkg and uploads the
.pkg.tar.zst to the Gitea Arch Package Registry.
2026-04-01 15:26:58 +02:00
nevaforget 928de71ead Move AUR/local deps to optdepends, deploy swaync via install hook
AUR packages can't be resolved by pacman when moonarch-git is
installed from the Gitea Package Registry. Move them to optdepends
since they're managed separately via packages/aur.txt.

swaync config files conflict with the swaync system package —
deploy via .install hook like foot and waybar configs.
2026-04-01 15:23:28 +02:00
nevaforget dcf3af38cc chore(moonarch-git): replace dunst with swaync in depends 2026-04-01 14:59:23 +02:00
nevaforget ba65744cb8 fix: moongreet cache dir permissions 700 instead of 755
Prevents local username enumeration via world-readable cache directory.
2026-03-31 11:06:15 +02:00
nevaforget ff6fe53213 Fix GTK4 symlinks to use Colloid-Grey-Dark-Catppuccin accent 2026-03-30 23:34:35 +02:00
nevaforget 89e4ada42e Use -bin variants for walker and elephant in moonarch-git deps
Avoids conflicts with aur.txt which installs the -bin variants.
2026-03-30 23:09:38 +02:00
nevaforget 6895fa55b4 Fix file conflicts with foot and waybar packages 2026-03-30 22:33:11 +02:00
nevaforget d827c689b0 Avoid file conflict with walker package for config.toml
walker owns /etc/xdg/walker/config.toml and overwrites it on every
update. Instead of fighting for that path, deploy our config override
to user homes (~/.config/walker/) via the .install hook where XDG
lookup finds it first. Also fix stale rofi dependency → walker + elephant.
2026-03-30 19:40:14 +02:00
nevaforget d3c08b3b43 Update pkgver to r26.0726451 (audit fixes + moonset migration) 2026-03-29 21:27:15 +02:00
nevaforget 1aa51d6cdf Remove gtklock and wlogout from moonarch-git depends
gtklock replaced by moonlock (already a dependency).
wlogout replaced by moonset (already a dependency).
2026-03-29 21:23:13 +02:00
nevaforget 4b539f2092 Update pkgver from first build, add .gitignore for build artifacts
sweet-cursors-git: r1.4b49c35 (source: gitea.moonarch.de fork)
moonarch-git: r24.a6a5a70
2026-03-29 18:31:12 +02:00
nevaforget 0b4fadb6d7 Add moonarch-git and sweet-cursors-git PKGBUILDs
moonarch-git packages all desktop environment defaults (XDG configs,
helper scripts, zsh config, wallpaper) for pacman-managed deployment.
Includes moonarch-update for simplified system maintenance.

sweet-cursors-git packages the Sweet cursor theme separately.
2026-03-29 17:15:05 +02:00
nevaforget 22c1f26d56 fix: drop --locked from VCS PKGBUILDs, add setup and troubleshooting docs
--locked is unreliable for -git packages where Cargo.lock may diverge
from the latest source. Also documents the required paru -Sy --pkgbuilds
step and common error resolutions.
2026-03-28 14:30:04 +01:00
nevaforget a72eca447b fix(moonset): drop --locked flag for VCS package
--locked requires an up-to-date Cargo.lock at build time, which
is unreliable for -git packages where source changes continuously.
2026-03-28 14:24:49 +01:00
nevaforget f169d387d4 feat: initial PKGBUILD collection for the Moonarch ecosystem
Add PKGBUILDs for moonset-git, moonlock-git, and moongreet-git.
Intended as a paru custom AUR source for easy installation of
all Moonarch components via `paru -S moonset-git`.
2026-03-28 10:29:20 +01:00