Terra in base section; fix Hyprland via solopasha COPR

- Terra repo is added right after RPM Fusion in the base setup (it carries
  noctalia + mangowc). Modules keep calling add_terra_repo so they still
  work standalone; it is a no-op when terra-release is present.
- Hyprland was retired from the Fedora repos after F42 (dependency churn);
  the module could never resolve 'hyprland' on F44. It now enables the
  solopasha/hyprland COPR first — the de facto standard for F43/44 — and
  treats the accessory packages (hyprpaper/hyprlock/waybar/mako/wofi/
  xwayland-satellite) as optional so a name drift warns instead of aborting.
- README updated.
This commit is contained in:
Pathfinder
2026-10-27 11:14:21 +01:00
committed by yuri
parent 1cd8d26d01
commit 0939b228b6
3 changed files with 17 additions and 7 deletions
+6 -4
View File
@@ -68,7 +68,7 @@ Each module pulls in `lib/` by relative path, so it works both ways.
| TWM | Source | Session type | Notes | | TWM | Source | Session type | Notes |
|---|---|---|---| |---|---|---|---|
| `niri` | Fedora repos + Terra (for `noctalia`) | Wayland | Ships its own session entry | | `niri` | Fedora repos + Terra (for `noctalia`) | Wayland | Ships its own session entry |
| `hyprland` | Fedora repos | Wayland | Ships its own session entry | | `hyprland` | **copr solopasha/hyprland** | Wayland | Retired from Fedora repos after F42 |
| `mango` | **Terra repo only** | Wayland | Session entry written if the package lacks one | | `mango` | **Terra repo only** | Wayland | Session entry written if the package lacks one |
| `chadwm` | **built from source** | **X11** | dwm fork; not packaged anywhere for Fedora | | `chadwm` | **built from source** | **X11** | dwm fork; not packaged anywhere for Fedora |
@@ -115,9 +115,11 @@ OS_RELEASE_FILE=/tmp/fake-os-release ./setup.sh --yes --de=xfce --twm=chadwm
## Known limitations ## Known limitations
* `noctalia` and `mangowc` come from **Terra**, a third-party repo. The * `noctalia` and `mangowc` come from **Terra**, and `hyprland` from the
package layout there is not guaranteed across Fedora releases; `mango` aborts **solopasha** COPR — all third-party sources. Their package layout is not
with build-from-source instructions if the package is missing. guaranteed across Fedora releases; `mango` aborts with build-from-source
instructions if the package is missing. Terra is added in the base section
(and re-checked idempotently inside the modules that need it).
* Package *names* are not verified by installation in this repo's test harness — * Package *names* are not verified by installation in this repo's test harness —
only control flow is. First real run on a fresh F44 box is the actual proof. only control flow is. First real run on a fresh F44 box is the actual proof.
* `gnome-tweaks`/`gnome-extensions-app`, `wofi`, `waybar`, `hyprlock` and friends * `gnome-tweaks`/`gnome-extensions-app`, `wofi`, `waybar`, `hyprlock` and friends
+8 -3
View File
@@ -12,11 +12,16 @@ if is_debug; then set +e; else set -e; fi
step "Tiling window manager: Hyprland" step "Tiling window manager: Hyprland"
rule rule
# hyprland was retired from the Fedora repos after F42 (dependency churn),
# so the compositor comes from the solopasha COPR — the de facto standard.
if ! pkg_installed hyprland; then
info "Enabling copr: solopasha/hyprland..."
sudo dnf copr enable -y solopasha/hyprland
fi
info "Installing Hyprland and its ecosystem..." info "Installing Hyprland and its ecosystem..."
install_packages hyprland xdg-desktop-portal-hyprland alacritty install_packages hyprland xdg-desktop-portal-hyprland alacritty
install_packages hyprpaper hypridle hyprlock waybar mako install_optional hyprpaper hypridle hyprlock waybar mako wofi xwayland-satellite
install_optional wofi
install_optional xwayland-satellite
install_session_prereqs install_session_prereqs
install_nerd_font JetBrainsMono install_nerd_font JetBrainsMono
+3
View File
@@ -156,6 +156,9 @@ info "Refreshing metadata..."
sudo dnf makecache --refresh sudo dnf makecache --refresh
add_rpmfusion_repo add_rpmfusion_repo
# Terra up front: it carries noctalia (niri) and mangowc, and is idempotent —
# the TWM modules also call it so they still work when run standalone.
add_terra_repo
pause_if_debug pause_if_debug
if ! command -v flatpak >/dev/null 2>&1; then if ! command -v flatpak >/dev/null 2>&1; then