Compare commits

..

No commits in common. "2b8e40f37f8a81fb1646b7978597b464fe4c8742" and "62495d8e3db23190b15da6c9158c40e9dff8f579" have entirely different histories.

19 changed files with 11 additions and 34 deletions

View File

@ -1,23 +1,5 @@
# Decisions # Decisions
## 2026-04-07 Walker theme: gtk-inherit → moonarch with fixed colors
- **Who**: Dominik, ClaudeCode
- **Why**: gtk-inherit theme relied on GTK4 color inheritance which works but doesn't update live when switching GTK themes (Walker service needs restart). Explicit color definitions make the theme self-contained and predictable.
- **Tradeoffs**: Colors no longer auto-follow GTK theme changes. Acceptable since moonarch uses a fixed Catppuccin Mocha palette anyway.
- **How**: Renamed theme to moonarch, added @define-color with Colloid-Grey-Dark-Catppuccin values, reduced border/shadow weight.
## 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 ## 2026-04-07 Move paru repo config into moonarch.install hook
- **Who**: Dominik, ClaudeCode - **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. - **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.

View File

@ -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. | | **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. | | **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. | | **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-persistent](https://github.com/sfs-pra/wdisplays) | kanshi auto-switches output profiles on hotplug. wdisplays-persistent saves changes directly to kanshi config. | | **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. |
| **Notifications** | [swaync](https://github.com/ErikReider/SwayNotificationCenter) | GTK4 notification daemon with DND toggle, grouping, MPRIS support. Fractional scaling via native GTK4. | | **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. | | **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. | | **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 2. Back up your `~/.config/`, `~/.zshrc`, and `/etc/xdg/` to timestamped tar archives
3. Disable conflicting display managers (SDDM, GDM, LightDM, etc.) 3. Disable conflicting display managers (SDDM, GDM, LightDM, etc.)
4. Remove conflicting packages (e.g. PulseAudio → PipeWire) 4. Remove conflicting packages (e.g. PulseAudio → PipeWire)
5. Install all Moonarch packages and configs (**hard overwrite** of most user configs; kanshi display profiles are preserved) 5. Install all Moonarch packages and configs (**hard overwrite** of all user configs)
6. Enable greetd, firewall, and system services 6. Enable greetd, firewall, and system services
### Update ### Update
@ -112,10 +112,10 @@ defaults/
xdg/ System-wide XDG configs (deployed to /etc/xdg/) xdg/ System-wide XDG configs (deployed to /etc/xdg/)
niri/config.kdl Compositor: layout, keybinds, startup apps niri/config.kdl Compositor: layout, keybinds, startup apps
waybar/config, style.css Bar: modules, layout, Catppuccin styling waybar/config, style.css Bar: modules, layout, Catppuccin styling
walker/config.toml, themes/ Launcher: Walker config + moonarch theme (Catppuccin Mocha) walker/config.toml, themes/ Launcher: Walker config + gtk-inherit theme
foot/foot.ini Terminal: font, colors, keybinds foot/foot.ini Terminal: font, colors, keybinds
swaync/config.json, style.css Notifications: appearance, behavior, MPRIS swaync/config.json, style.css Notifications: appearance, behavior, MPRIS
kanshi/config Display profiles (empty seed, user-configured via wdisplays) kanshi/config Display profiles (empty, user-configured)
stasis/stasis.rune Idle manager: AC/battery power plans stasis/stasis.rune Idle manager: AC/battery power plans
pipewire/ Audio: RNNoise input denoising pipewire/ Audio: RNNoise input denoising
waypaper/config.ini Wallpaper manager: backend, folder, transitions waypaper/config.ini Wallpaper manager: backend, folder, transitions

View File

@ -7,7 +7,7 @@ click_to_close = true
as_window = false as_window = false
single_click_activation = true single_click_activation = true
selection_wrap = false selection_wrap = false
theme = "moonarch" theme = "gtk-inherit"
disable_mouse = false disable_mouse = false
page_jump_items = 10 page_jump_items = 10
hide_quick_activation = false hide_quick_activation = false

View File

@ -1,10 +1,5 @@
@define-color window_bg_color #292c3c; /* ABOUTME: Walker theme that inherits colors from the active GTK4 theme.
@define-color window_fg_color #eff1f5; ABOUTME: Only overrides layout/spacing colors come from Colloid-Dark-Catppuccin or whatever is active. */
@define-color accent_bg_color #ccd0da;
@define-color accent_fg_color rgba(17, 17, 27, 0.87);
@define-color error_bg_color #ea999c;
@define-color error_fg_color rgba(17, 17, 27, 0.87);
@define-color theme_fg_color @window_fg_color;
* { * {
all: unset; all: unset;
@ -13,7 +8,7 @@
popover { popover {
background: lighter(@window_bg_color); background: lighter(@window_bg_color);
border: 1px solid alpha(@accent_bg_color, 0.15); border: 1px solid darker(@accent_bg_color);
border-radius: 18px; border-radius: 18px;
padding: 10px; padding: 10px;
} }
@ -32,12 +27,12 @@ scrollbar {
.box-wrapper { .box-wrapper {
box-shadow: box-shadow:
0 19px 38px rgba(0, 0, 0, 0.15), 0 19px 38px rgba(0, 0, 0, 0.3),
0 15px 12px rgba(0, 0, 0, 0.1); 0 15px 12px rgba(0, 0, 0, 0.22);
background: @window_bg_color; background: @window_bg_color;
padding: 20px; padding: 20px;
border-radius: 20px; border-radius: 20px;
border: 1px solid alpha(@accent_bg_color, 0.15); border: 1px solid darker(@accent_bg_color);
} }
.preview-box, .preview-box,