# Decisions ## 2026-03-29 – /opt/moonarch stays root-owned, no chown to user - **Who**: Dominik, Ragnar - **Why**: Multi-user system — chown to UID 1000 locks out other users from moonarch-update - **Tradeoffs**: sudo required for git operations in update.sh vs. simpler user-owned repo - **How**: Repo stays at /opt/moonarch owned by root:root. update.sh uses `sudo git` for fetch/pull. All scripts already use sudo for system-level operations, so this is consistent. ## 2026-03-29 – Add transform.sh for existing Arch+Wayland systems - **Who**: Dominik, Ragnar - **Why**: Users with existing Arch+Wayland setups should be able to adopt Moonarch without reinstalling - **Tradeoffs**: Hard overwrite of all configs (user + system) vs. selective/merge approach — chose hard overwrite for simplicity and consistency - **How**: New transform.sh with pre-flight summary, backup, DM conflict resolution, and --dry-run flag. Shared helpers extracted to lib.sh. ## 2026-03-29 – Package moonarch as moonarch-git PKGBUILD - **Who**: Dominik, Ragnar - **Why**: System artifacts (XDG configs, helper scripts, zsh config, wallpaper) should be managed by pacman for clean deployment, versioning, rollback, and deinstallation - **Tradeoffs**: /etc/xdg/ configs NOT in backup= (moonarch philosophy: system defaults flow through, users override in ~/.config/). /etc/greetd/ and /etc/moongreet/ NOT owned by package (owned by greetd/moongreet-git, overwritten via .install hook). Helper scripts move from /usr/local/bin/ to /usr/bin/ (FHS for package-managed files) - **How**: moonarch-git PKGBUILD in moonarch-pkgbuilds repo. sweet-cursors-git as separate package. moonarch-update simplified (no git-sync, pacman handles file deployment). Installer scripts (post-install.sh, transform.sh) remain for orchestration, will be refactored in a follow-up to delegate file deployment to `paru -S moonarch-git`