diff --git a/DECISIONS.md b/DECISIONS.md index 06fe645..7f5c745 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -1,5 +1,17 @@ # Decisions +## 2026-04-07 – Migrate archinstall config to v4 format +- **Who**: Dominik, ClaudeCode +- **Why**: archinstall v4.1 introduced new canonical key names. Old keys (audio_config, bootloader, custom-commands) are soft-deprecated and auto-mapped, but custom-commands (hyphen) vs custom_commands (underscore) was risky. +- **Tradeoffs**: Config now requires archinstall v4+. Older ISOs with v2/v3 may not parse the new keys. +- **How**: Migrated audio_config into app_config, bootloader into bootloader_config, custom-commands to custom_commands, gfx_driver value updated. + +## 2026-04-07 – kanshi config: no ABOUTME, no overwrite on transform +- **Who**: Dominik, ClaudeCode +- **Why**: ABOUTME comments in kanshi config broke the profile parser in wdisplays-persistent store.c, preventing config saves. Additionally, transform.sh was overwriting user display profiles on every run. +- **Tradeoffs**: kanshi default template is now empty (no comments). Users get no guidance in the seed file, but wdisplays-persistent provides the GUI for config management. +- **How**: Removed ABOUTME from defaults/xdg/kanshi/config. Added skip logic in transform.sh to preserve existing kanshi user configs. + ## 2026-04-07 – Move paru repo config into moonarch.install hook - **Who**: Dominik, ClaudeCode - **Why**: paru PKGBUILD repo config was only set up by post-install.sh and transform.sh. If paru updated and overwrote /etc/paru.conf, or the config was missing on existing systems, moonarch-git couldn't update itself — bootstrap loop where the fix requires the package that delivers the fix. diff --git a/README.md b/README.md index 2bfd5ea..f5881f8 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ desktop that can be rebuilt from scratch in minutes. | **Terminal** | [Foot](https://codeberg.org/dnkl/foot) | Fast, minimal Wayland-native terminal. Server mode for instant window spawning. | | **Shell** | Zsh | Programmable completion, FZF integration, syntax highlighting. | | **Audio** | PipeWire | Drop-in replacement for PulseAudio/JACK with lower latency. RNNoise input denoising configured out of the box. | -| **Display Management** | [kanshi](https://sr.ht/~emersion/kanshi/) + [wdisplays](https://github.com/artizirk/wdisplays) | kanshi auto-switches output profiles on hotplug. wdisplays for manual GUI configuration. | +| **Display Management** | [kanshi](https://sr.ht/~emersion/kanshi/) + [wdisplays-persistent](https://github.com/sfs-pra/wdisplays) | kanshi auto-switches output profiles on hotplug. wdisplays-persistent saves changes directly to kanshi config. | | **Notifications** | [swaync](https://github.com/ErikReider/SwayNotificationCenter) | GTK4 notification daemon with DND toggle, grouping, MPRIS support. Fractional scaling via native GTK4. | | **Clipboard** | [cliphist](https://github.com/sentriz/cliphist) + Walker | Clipboard history stored in runtime dir, wiped on session start. Walker provides the picker UI. | | **GTK Theme** | Colloid-Grey-Dark-Catppuccin | Catppuccin Mocha palette, grey accent, explicit dark variant. | @@ -79,7 +79,7 @@ The script will: 2. Back up your `~/.config/`, `~/.zshrc`, and `/etc/xdg/` to timestamped tar archives 3. Disable conflicting display managers (SDDM, GDM, LightDM, etc.) 4. Remove conflicting packages (e.g. PulseAudio → PipeWire) -5. Install all Moonarch packages and configs (**hard overwrite** of all user configs) +5. Install all Moonarch packages and configs (**hard overwrite** of most user configs; kanshi display profiles are preserved) 6. Enable greetd, firewall, and system services ### Update @@ -115,7 +115,7 @@ defaults/ walker/config.toml, themes/ Launcher: Walker config + gtk-inherit theme foot/foot.ini Terminal: font, colors, keybinds swaync/config.json, style.css Notifications: appearance, behavior, MPRIS - kanshi/config Display profiles (empty, user-configured) + kanshi/config Display profiles (empty seed, user-configured via wdisplays) stasis/stasis.rune Idle manager: AC/battery power plans pipewire/ Audio: RNNoise input denoising waypaper/config.ini Wallpaper manager: backend, folder, transitions