refactor(moonarch-git): hard-dep ecosystem + Arch essentials, pkgrel 10
Promote moongreet-git/moonlock-git/moonset-git and ~30 Arch-repo essentials (networkmanager, bluez, wlsunset, xwayland-satellite, file-manager stack, portals, zsh plugins, CLI tools, neovim, git, ufw, fwupd, etc.) from optdepends (or absent) to hard depends. Previously a fresh `paru -S moonarch-git` installed the configs but none of the packages they depend on, producing a non-functional Moonarch — no greeter, no lockscreen, no launcher, no network stack. AUR packages cannot be hard depends (pacman cannot resolve AUR), so they remain in moonarch's packages/aur.txt and post-install.sh pulls them explicitly. optdepends trimmed to real extras — docker, rustup (for dev), waterfox.
This commit is contained in:
parent
e62cfe6558
commit
da1e81aa8d
@ -1,5 +1,11 @@
|
||||
# Decisions
|
||||
|
||||
## 2026-04-21 – moonarch-git becomes a full meta-package (hard deps on all Arch-repo essentials + own registry siblings)
|
||||
- **Who**: Dominik, ClaudeCode
|
||||
- **Why**: `moonarch-git` listed `moongreet-git`/`moonlock-git`/`moonset-git` only as `optdepends` and omitted most Arch-repo essentials (wlsunset, networkmanager, bluez, xwayland-satellite, file-manager stack, zsh plugins, CLI tools, …) entirely — they lived only in `packages/official.txt`. `paru -S moonarch-git` on a fresh system therefore produced a desktop with no greeter, no lockscreen, no power menu, no nightlight, no network manager, no portals — a non-functional Moonarch. Split source of truth between PKGBUILD deps and txt files caused continuous drift (e.g. walker-bin was missing from both).
|
||||
- **Tradeoffs**: `moonarch-git` is now chunky — installing it pulls ~60 packages (vs ~20 before). Acceptable because this is exactly what every Moonarch system needs; a leaner package just shifted the install work to imperative scripts that silently failed. AUR packages cannot be hard `depends=` (pacman can't resolve AUR), so they stay in `packages/aur.txt` and post-install.sh pulls them explicitly. `optdepends=` was slashed to real extras (docker, rustup for dev, waterfox) — no more mirroring of aur.txt there.
|
||||
- **How**: Added to `depends=`: moongreet-git, moonlock-git, moonset-git, xwayland-satellite, libnotify, foot-terminfo, wlsunset, nwg-look, awww, libpulse, gst-plugin-pipewire, networkmanager + nm-applet + nm-openvpn + openvpn, bluez, gvfs + gvfs-{dnssd,mtp,smb}, udisks2, ntfs-3g, xdg-desktop-portal-{gnome,gtk}, qt6-5compat, zsh-{autosuggestions,syntax-highlighting}, bat, btop, eza, fastfetch, fd, fzf, lazygit, ripgrep, neovim, git, fwupd, ufw. Removed from `optdepends=`: all Moonarch ecosystem packages (now hard deps), all AUR packages (post-install.sh pulls from aur.txt), and already-depended Arch-repo packages. `pkgrel` bumped 9 → 10.
|
||||
|
||||
## 2026-04-20 – Registry is the only install path; drop paru --pkgbuilds
|
||||
- **Who**: Dominik, ClaudeCode
|
||||
- **Why**: Two parallel mechanisms for finding moonarch packages (the Arch registry via `[moonarch]` in `pacman.conf`, and paru's PKGBUILD-repo via `[moonarch-pkgbuilds]` in `paru.conf`) created ambiguous state: `paru -S` resolves from whichever has a matching version first, and diagnostics have to account for both. With the registry DB now stable (see zombie fix below), the PKGBUILD-repo path is redundant.
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
|
||||
pkgname=moonarch-git
|
||||
pkgver=r106.0a38347
|
||||
pkgrel=9
|
||||
pkgrel=10
|
||||
pkgdesc="Moonarch desktop environment defaults — Niri, Waybar, Catppuccin Mocha"
|
||||
arch=('any')
|
||||
url="https://gitea.moonarch.de/nevaforget/moonarch"
|
||||
@ -13,16 +13,24 @@ license=('MIT')
|
||||
install=moonarch.install
|
||||
|
||||
depends=(
|
||||
# Moonarch ecosystem (own registry)
|
||||
'moongreet-git'
|
||||
'moonlock-git'
|
||||
'moonset-git'
|
||||
|
||||
# Compositor & session
|
||||
'niri'
|
||||
'xwayland-satellite'
|
||||
'greetd'
|
||||
|
||||
# Bar & notifications
|
||||
'waybar'
|
||||
'swaync'
|
||||
'libnotify'
|
||||
|
||||
# Terminal
|
||||
'foot'
|
||||
'foot-terminfo'
|
||||
|
||||
# Clipboard
|
||||
'cliphist'
|
||||
@ -30,71 +38,80 @@ depends=(
|
||||
|
||||
# Display
|
||||
'kanshi'
|
||||
'wlsunset'
|
||||
'nwg-look'
|
||||
'brightnessctl'
|
||||
|
||||
# Wallpaper
|
||||
'awww'
|
||||
|
||||
# Audio
|
||||
'pipewire'
|
||||
'wireplumber'
|
||||
'pipewire-alsa'
|
||||
'pipewire-jack'
|
||||
'pipewire-pulse'
|
||||
'wireplumber'
|
||||
'libpulse'
|
||||
'alsa-utils'
|
||||
'pavucontrol'
|
||||
'gst-plugin-pipewire'
|
||||
|
||||
# Theming
|
||||
'ttf-ubuntusans-nerd'
|
||||
# Network
|
||||
'networkmanager'
|
||||
'network-manager-applet'
|
||||
'networkmanager-openvpn'
|
||||
'openvpn'
|
||||
|
||||
# System utilities referenced by helper scripts
|
||||
'brightnessctl'
|
||||
'jq'
|
||||
'libnotify'
|
||||
'upower'
|
||||
'polkit-gnome'
|
||||
# Bluetooth
|
||||
'bluez'
|
||||
'bluez-utils'
|
||||
|
||||
# File manager & portals
|
||||
'gvfs'
|
||||
'gvfs-dnssd'
|
||||
'gvfs-mtp'
|
||||
'gvfs-smb'
|
||||
'udisks2'
|
||||
'ntfs-3g'
|
||||
'xdg-desktop-portal-gnome'
|
||||
'xdg-desktop-portal-gtk'
|
||||
'qt6-5compat'
|
||||
|
||||
# Theming & fonts
|
||||
'ttf-ubuntusans-nerd'
|
||||
|
||||
# Shell
|
||||
'zsh'
|
||||
'zsh-autosuggestions'
|
||||
'zsh-syntax-highlighting'
|
||||
|
||||
# PipeWire extras for XDG config
|
||||
'pipewire-alsa'
|
||||
'pipewire-jack'
|
||||
'gst-plugin-pipewire'
|
||||
# CLI tools (referenced by zshrc + helper scripts)
|
||||
'bat'
|
||||
'btop'
|
||||
'eza'
|
||||
'fastfetch'
|
||||
'fd'
|
||||
'fzf'
|
||||
'jq'
|
||||
'lazygit'
|
||||
'ripgrep'
|
||||
|
||||
# Editor & VCS
|
||||
'neovim'
|
||||
'git'
|
||||
|
||||
# System
|
||||
'fwupd'
|
||||
'ufw'
|
||||
'polkit-gnome'
|
||||
'upower'
|
||||
)
|
||||
|
||||
optdepends=(
|
||||
# Moonarch ecosystem (install via paru from AUR/local builds)
|
||||
'moongreet-git: greetd greeter'
|
||||
'moonlock-git: Wayland lockscreen'
|
||||
'moonset-git: session power menu'
|
||||
|
||||
# AUR packages (install via paru)
|
||||
'walker-bin: application launcher'
|
||||
'elephant-bin: walker search daemon'
|
||||
'awww: wallpaper daemon (swww alternative)'
|
||||
'waypaper: wallpaper GUI'
|
||||
'stasis: idle manager'
|
||||
'colloid-catppuccin-gtk-theme-git: Catppuccin GTK theme'
|
||||
'sweet-cursors-git: cursor theme'
|
||||
|
||||
# General tools
|
||||
'docker: container runtime'
|
||||
'docker-compose: multi-container orchestration'
|
||||
'neovim: editor (EDITOR in zshrc)'
|
||||
'rustup: Rust toolchain'
|
||||
'git: version control'
|
||||
'lazygit: terminal UI for git'
|
||||
'btop: system monitor'
|
||||
'fastfetch: system info display'
|
||||
'auto-cpufreq: CPU frequency scaling'
|
||||
'ufw: firewall'
|
||||
'timeshift: system snapshots'
|
||||
'fwupd: firmware updates'
|
||||
'rustup: Rust toolchain manager (development)'
|
||||
'waterfox-bin: web browser'
|
||||
'blueberry: bluetooth manager GUI'
|
||||
'nwg-look: GTK settings editor'
|
||||
'wdisplays-persistent-gettext: display configuration GUI'
|
||||
'wl-color-picker: color picker'
|
||||
'waybar-niri-windows-bin: niri window titles for waybar'
|
||||
'waybar-niri-workspaces-enhanced-git: niri workspaces for waybar'
|
||||
'xwayland-satellite: X11 app support'
|
||||
'colloid-catppuccin-theme-git: full Catppuccin GTK+icon theme'
|
||||
)
|
||||
|
||||
makedepends=('git')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user