Earlier ClaudeCode sessions had wired a `~/.zshrc.d/*.zsh` snippet loop
plus a `~/.zshrc.local` fallback into defaults/shell/zshrc and made
post-install.sh create the directory unconditionally — neither is a zsh
convention nor documented anywhere. Remove both, simplify post-install
to write only `source /etc/zsh/zshrc.moonarch`, drop stale rustup
next-step hint, drop dead `confirm()` in lib.sh (orphan since
transform.sh deletion 2026-04-21).
moonarch-doctor: replace useless existence checks (zshrc.moonarch,
/usr/share/moonarch/) with real signal. User-service and helper-script
lists now derive from `pacman -Qql moonarch-git` (drift-proof) plus an
explicit list of post-install-enabled externals (currently `stasis`).
New udev-effectiveness check for charge_control_end_threshold —
verifies group=wheel + group-writable, surfaces broken rules instead
of staying silent.
Translate two German ABOUTME comments (moonarch-waybar-cpugov,
moonarch-waybar-gpustat) to English for consistency.
Long-standing gaps in post-install.sh plus cleanup:
- post-install.sh:18 was `sudo pacman -S paru` on the wrong
assumption paru had landed in [extra]. Verified: paru/paru-bin
are AUR-only. Restored the original git-clone + makepkg
bootstrap, added the rust buildep that archinstall does not
pull in.
- post-install.sh never installed AUR extras — walker, elephant,
waypaper, stasis, themes all silently skipped. Now pulls
packages/aur.txt after moonarch-git.
- packages/official.txt: drop glab, go, npm (unused) and rustup
(only needed for the paru build, handled imperatively now).
- packages/aur.txt: add walker-bin (was missing entirely).
- transform.sh + legacy update.sh shim removed — transform was
never used in practice.
- Apollo persona block out of CLAUDE.md, prior DECISIONS entries
rewritten from Apollo/Ragnar to ClaudeCode.
- README Transform section and scripts/ listing trimmed.
- lib.sh ABOUTME updated — only post-install.sh sources it now.
- Remove defaults/user/ and the user-defaults copy loop from
post-install.sh and transform.sh — Waybar falls back to
/etc/xdg/waybar/ via XDG spec, no provisioning needed.
- Remove USER_DEFAULTS constant from lib.sh.
- Clean up style.css: remove dead selectors (#net, #cava,
#custom-updates, #custom-notification), commented-out blocks,
empty rules, duplicate properties, and hardcoded hex color.
- Restructure module styling: generic top-level box via
> widget > *, group children reset via widget widget > *,
explicit exceptions for workspaces/taskbar/window.
- Normalize section comments and whitespace.
- Update README to remove user/waybar/ from project structure.
Refactor post-install.sh and transform.sh to install moonarch-git via
paru instead of manually copying configs, scripts, and themes. Remove
install-themes.sh (replaced by sweet-cursors-git dependency). Replace
update.sh with deprecation notice that forwards to the package-provided
moonarch-update in /usr/bin/.
Extract shared helpers into lib.sh (log, err, confirm, path constants)
and refactor post-install.sh + update.sh to source it.
New transform.sh converts an existing Arch+Wayland system to Moonarch:
pre-flight summary, config backup, DM conflict resolution, PulseAudio
removal, full package install, and hard overwrite of all configs.
Also migrate kanshi from niri spawn-at-startup to systemd user service.