diff --git a/README.md b/README.md index b1487d3..a8699c2 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Each module pulls in `lib/` by relative path, so it works both ways. | TWM | Source | Session type | Notes | |---|---|---|---| | `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 | | `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 -* `noctalia` and `mangowc` come from **Terra**, a third-party repo. The - package layout there is not guaranteed across Fedora releases; `mango` aborts - with build-from-source instructions if the package is missing. +* `noctalia` and `mangowc` come from **Terra**, and `hyprland` from the + **solopasha** COPR — all third-party sources. Their package layout is not + 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 — 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 diff --git a/modules/twm/hyprland.sh b/modules/twm/hyprland.sh index 93d09df..38dd447 100755 --- a/modules/twm/hyprland.sh +++ b/modules/twm/hyprland.sh @@ -12,11 +12,16 @@ if is_debug; then set +e; else set -e; fi step "Tiling window manager: Hyprland" 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..." install_packages hyprland xdg-desktop-portal-hyprland alacritty -install_packages hyprpaper hypridle hyprlock waybar mako -install_optional wofi -install_optional xwayland-satellite +install_optional hyprpaper hypridle hyprlock waybar mako wofi xwayland-satellite install_session_prereqs install_nerd_font JetBrainsMono diff --git a/setup.sh b/setup.sh index 1f64c5e..ac493a6 100755 --- a/setup.sh +++ b/setup.sh @@ -156,6 +156,9 @@ info "Refreshing metadata..." sudo dnf makecache --refresh 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 if ! command -v flatpak >/dev/null 2>&1; then