Hyprland: COPR fallback chain (solopasha has no F44 chroot)

On F44, 'dnf copr enable solopasha/hyprland' fails with 'Chroot not found':
verified via the Copr API, solopasha is rawhide-only right now. lionheartp/
Hyprland (solopasha fork, also ships noctalia packages) and hermitfeather/
hyprland both have fedora-44 chroots.

The module now tries lionheartp, hermitfeather, then solopasha, and aborts
with an actionable message if none has a chroot for this release. README
updated to name the chain, not a single repo.
This commit is contained in:
Pathfinder
2026-10-27 11:19:51 +01:00
committed by yuri
parent 0939b228b6
commit 632a0267dd
2 changed files with 24 additions and 5 deletions
+1 -1
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` | **copr solopasha/hyprland** | Wayland | Retired from Fedora repos after F42 | | `hyprland` | **COPR** (lionheartp, then hermitfeather, then solopasha) | Wayland | Retired from Fedora repos after F42; first COPR with a chroot for your release wins |
| `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 |
+23 -4
View File
@@ -12,14 +12,33 @@ 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), # hyprland was retired from the Fedora repos after F42 (dependency churn), so it
# so the compositor comes from the solopasha COPR — the de facto standard. # comes from a COPR. Which COPR has a fedora-44 chroot changes over time —
# solopasha (the usual recommendation) was rawhide-only when this was written.
# Try candidates in order; first one that enables wins. If none works, abort
# with an actionable message instead of a cryptic "chroot not found".
if ! pkg_installed hyprland; then if ! pkg_installed hyprland; then
info "Enabling copr: solopasha/hyprland..." enabled=""
sudo dnf copr enable -y solopasha/hyprland for copr in lionheartp/Hyprland hermitfeather/hyprland solopasha/hyprland; do
info "Enabling copr: $copr..."
if sudo dnf copr enable -y "$copr" >/dev/null 2>&1; then
enabled="$copr"
ok "Copr enabled: $copr"
break
fi
warn "Copr $copr has no chroot for this Fedora release; trying next..."
done
if [[ -z "$enabled" ]]; then
err "None of the Hyprland COPRs have a chroot for Fedora $(rpm -E %fedora)."
err "Check https://copr.fedorainfracloud.org/coprs/ for an up-to-date one, or:"
err " sudo dnf copr enable -y <owner>/<project> fedora-rawhide-x86_64 # last resort"
exit 1
fi
fi fi
info "Installing Hyprland and its ecosystem..." info "Installing Hyprland and its ecosystem..."
# COPR package sets differ; treat everything beyond the core compositor as
# optional so a name drift warns instead of killing the transaction.
install_packages hyprland xdg-desktop-portal-hyprland alacritty install_packages hyprland xdg-desktop-portal-hyprland alacritty
install_optional hyprpaper hypridle hyprlock waybar mako wofi xwayland-satellite install_optional hyprpaper hypridle hyprlock waybar mako wofi xwayland-satellite