From 6e14258ad90d71b82e305e068bf1a58ed3c5007f Mon Sep 17 00:00:00 2001 From: nevaforget Date: Wed, 22 Apr 2026 08:56:23 +0200 Subject: [PATCH] fix(doctor): drop obsolete paru repo check, cover walker + nautilus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `[moonarch-pkgbuilds]` paru-repo check was a false failure: that mechanism was retired on 2026-04-20 and the install hook strips the legacy paru.conf section on upgrade. Audit of the rest of the doctor surfaced two related gaps — the user-services loop skipped `walker.service` and `nautilus.service`, even though moonarch-git ships both and enables them via graphical-session.target.wants. Added them to the loop and filled in the missing `wlsunset` in the CLAUDE.md listing. --- CLAUDE.md | 2 +- DECISIONS.md | 5 +++++ scripts/moonarch-doctor | 9 +-------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index b3f5b6c..2c240d8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -44,7 +44,7 @@ Waybar wird über `moonarch-waybar` gestartet (nicht direkt). Der Wrapper merged Diagnose-Script das den Systemzustand gegen moonarch-Defaults prüft: - Pakete (official.txt + aur.txt installiert? Orphans?) - System-Services (NetworkManager, bluetooth, greetd, ufw, auto-cpufreq, etc.) -- User-Services (kanshi, stasis, cliphist-text, cliphist-image) +- User-Services (kanshi, wlsunset, stasis, walker, nautilus, cliphist-text, cliphist-image) - Config-Dateien (SHA256-Vergleich deployed vs. moonarch-Default) - Helper-Scripts + Symlinks (moonup, moondoc) - System-Config (UFW, Pacman/Paru Repos, Default Shell) diff --git a/DECISIONS.md b/DECISIONS.md index d3708c3..775af44 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -1,5 +1,10 @@ # Decisions +## 2026-04-22 – moonarch-doctor housekeeping: drop stale check, add missing services +- **Who**: Dominik, ClaudeCode +- **Why**: Noticed while running `moondoc` on a healthy system that it reported `Paru [moonarch-pkgbuilds] repo missing from /etc/paru.conf` — a false failure. The paru PKGBUILD-repo mechanism was retired on 2026-04-20 in favor of the registry-only flow, and the `moonarch-git` install hook strips the legacy paru.conf section on upgrade; the doctor script was not updated in lockstep. Audit of the rest of the script surfaced two related gaps: the user-services loop skipped `walker.service` and `nautilus.service`, even though the PKGBUILD ships both in `/etc/systemd/user/` and enables them via `graphical-session.target.wants` symlinks. A silently missing walker or nautilus would not show up in diagnostics. +- **How**: Removed the `[moonarch-pkgbuilds]` check from `scripts/moonarch-doctor`. Added `walker` and `nautilus` to the user-service loop. Updated `CLAUDE.md` user-services listing to match (also filled in the missing `wlsunset`). The `[moonarch]` pacman-repo check stays — that is the path that matters now. + ## 2026-04-22 – Seed Stasis user config from post-install.sh - **Who**: Dominik, ClaudeCode - **Why**: Moonarch shipped `defaults/xdg/stasis/stasis.rune` (deployed to `/etc/xdg/stasis/stasis.rune` by the PKGBUILD) on the assumption that stasis honors the XDG system config hierarchy. It does not. Verified against upstream source (v1.1.0, `src/config/mod.rs:30` + `src/config/bootstrap.rs`): stasis only reads `~/.config/stasis/stasis.rune` (primary) or `/etc/stasis/stasis.rune` (fallback, no `xdg/`). On every start with no user config, `ensure_user_config_exists()` writes its own hardcoded default (laptop/desktop template compiled into the binary) to `~/.config/stasis/stasis.rune`. Net effect: Moonarch's Idle-Manager tuning (AC/battery plans, moonlock integration, inhibit apps, niri DPMS commands) was never active on fresh installs — users got the upstream defaults with `swaylock` as locker. diff --git a/scripts/moonarch-doctor b/scripts/moonarch-doctor index 522b52d..36bfea3 100755 --- a/scripts/moonarch-doctor +++ b/scripts/moonarch-doctor @@ -178,7 +178,7 @@ section "User Services" if [[ $EUID -eq 0 ]]; then warn "Running as root — skipping user service checks" else - for svc in kanshi wlsunset stasis cliphist-text cliphist-image; do + for svc in kanshi wlsunset stasis walker nautilus cliphist-text cliphist-image; do check_user_service "$svc" done fi @@ -270,13 +270,6 @@ else fail "Pacman [moonarch] repo missing from /etc/pacman.conf" fi -# Paru PKGBUILD repo -if grep -q '\[moonarch-pkgbuilds\]' /etc/paru.conf 2>/dev/null; then - pass "Paru [moonarch-pkgbuilds] repo configured" -else - fail "Paru [moonarch-pkgbuilds] repo missing from /etc/paru.conf" -fi - # Default shell USER_SHELL=$(getent passwd "$USER" | cut -d: -f7) if [[ "$USER_SHELL" == */zsh ]]; then