--- name: fedora-hyprland-installer description: Install, configure, verify, repair, update, and uninstall Hyprland on Fedora Linux with GPU-aware detection (NVIDIA/AMD/Intel). category: devops risk: critical source: community source_repo: maleksaadi0109/hyprfedora source_type: community date_added: "2026-07-26" author: maleksaadi0109 tags: [fedora, hyprland, wayland, linux] tools: [claude, cursor, gemini] license: MIT license_source: https://github.com/maleksaadi0109/hyprfedora/blob/3ec6d4fc5eecdb188613dd841dce9926ae5c8319/LICENSE --- # Fedora Hyprland Installer Skill This skill provides an automated, safety-first workflow for managing Hyprland on Fedora Linux. ## Resolve the Skill Directory Before running a bundled script, resolve `SKILL_DIR` to the directory that contains this `SKILL.md`. Do not assume the user's current working directory or guess a global installation path. If the agent cannot resolve the installed skill directory from its runtime context, stop and ask the user to provide it. Invoke bundled shell files explicitly with `bash` and a quoted path, for example `bash "$SKILL_DIR/scripts/detect-system.sh"`. ## When to Use - Use when installing or updating a Fedora-packaged Hyprland desktop stack. - Use when verifying a Hyprland session, portals, PipeWire, or WirePlumber on Fedora. - Use when diagnosing the limited repair cases documented below or removing the Hyprland-specific packages installed by this workflow. ## Core Directives & Safety Rules 1. **Fedora-First**: Always use Fedora tools (`dnf`, `systemctl`, `loginctl`). Never use `apt`, `pacman`, or `yay`. 2. **Never Blindly Execute**: Inspect the system prior to any installation or modification. 3. **Preserve Existing Desktop**: Do not uninstall GNOME, KDE, or any existing desktop environment. Hyprland should be added as a session choice in the display manager (GDM/SDDM/LightDM). 4. **Mandatory Backup**: Always create a timestamped backup in `~/.local/state/fedora-hyprland-installer/backups/` before writing or altering configurations in `~/.config/hypr/`, `~/.config/waybar/`, etc. 5. **GPU Awareness**: Check whether the system uses NVIDIA, AMD, Intel, or Hybrid graphics before configuring environment variables or graphics drivers. Never use arbitrary `.run` installers for NVIDIA; rely on Fedora/RPM Fusion repositories. 6. **Privileged Operations**: Sudo commands must be clearly identified and communicated to the user. Do not hardcode passwords. 7. **Idempotency**: Running actions multiple times must be safe and avoid duplicate config lines. 8. **Explicit Consent**: Show the exact package or service changes first. Run scripts that mutate packages or services only after the user confirms; use `repair.sh` without `--apply` for diagnosis. --- ## Workflow Guide ### 1. Installation Workflow When the user asks to **"Install Hyprland"** or **"Setup Hyprland on Fedora"**: 1. Execute `bash "$SKILL_DIR/scripts/detect-system.sh"` and `bash "$SKILL_DIR/scripts/detect-gpu.sh"`. 2. Execute `bash "$SKILL_DIR/scripts/preflight.sh"` to verify Fedora release, network, package manager, and sudo access. 3. Execute `bash "$SKILL_DIR/scripts/backup.sh"` to preserve any pre-existing configurations. 4. Show the package plan with `bash "$SKILL_DIR/scripts/install.sh" --dry-run`; after explicit approval, execute `bash "$SKILL_DIR/scripts/install.sh"` to install Hyprland, Wayland portal packages (`xdg-desktop-portal-hyprland`, `xdg-desktop-portal-gtk`), PipeWire/WirePlumber, terminal, launcher, status bar, and authentication agent. 5. Execute `bash "$SKILL_DIR/scripts/configure.sh"` to write a clean, functional initial Hyprland config (`~/.config/hypr/hyprland.conf`) tailored to detected terminal/launcher and GPU environment variables. 6. Execute `bash "$SKILL_DIR/scripts/verify.sh"` to ensure binaries, portal services, PipeWire, and login desktop entries (`/usr/share/wayland-sessions/hyprland.desktop`) exist and validate. 7. Present a summary report detailing installed packages, backup paths, and login instructions. ### 2. Repair Workflow When the user asks to **"Fix Hyprland"**, **"Hyprland won't start"**, **"No audio"**, **"Screen sharing broken"**: 1. Run `bash "$SKILL_DIR/scripts/detect-system.sh"` and inspect system logs (`journalctl -xe`, `journalctl --user -u xdg-desktop-portal`). 2. Execute `bash "$SKILL_DIR/scripts/repair.sh"` to report a missing Hyprland config, missing portal package, and inactive PipeWire/WirePlumber services. 3. Review the proposed changes with the user, then execute `bash "$SKILL_DIR/scripts/repair.sh" --apply` only after approval. The script can create a missing config, install missing portal packages, and enable or restart the checked user services; investigate other faults manually. 4. Execute `bash "$SKILL_DIR/scripts/verify.sh"`. ### 3. Update Workflow When the user asks to **"Update Hyprland"**: 1. Run `bash "$SKILL_DIR/scripts/backup.sh"`. 2. Show the package plan with `bash "$SKILL_DIR/scripts/install.sh" --dry-run --update` and obtain approval. 3. Update Hyprland and related Wayland packages via `bash "$SKILL_DIR/scripts/install.sh" --update`. 4. Validate configuration syntax and verify system integrity via `bash "$SKILL_DIR/scripts/verify.sh"`. ### 4. Uninstall Workflow When the user asks to **"Uninstall Hyprland"**: 1. Explain to the user which packages will be removed. 2. Run `bash "$SKILL_DIR/scripts/backup.sh"`. 3. Show the removal list and obtain approval, then execute `bash "$SKILL_DIR/scripts/uninstall.sh" --yes` to remove the listed Hyprland-specific packages while preserving base desktop environments (GNOME/KDE) and user backup files. --- ## Reference Manuals - [Fedora Details](references/fedora.md) - [Hyprland Config Guide](references/hyprland.md) - [NVIDIA Setup & Wayland](references/nvidia.md) - [AMD Mesa Stack](references/amd.md) - [Intel Mesa Stack](references/intel.md) - [Wayland & Environment](references/wayland.md) - [Portals & PipeWire](references/portals.md) - [Troubleshooting Matrix](references/troubleshooting.md) ## Examples Inspect the system and preview the package plan without changing it: ```bash bash "$SKILL_DIR/scripts/detect-system.sh" bash "$SKILL_DIR/scripts/detect-gpu.sh" bash "$SKILL_DIR/scripts/install.sh" --dry-run ``` ## Limitations - Bundled shell files are intentionally non-executable under the repository safety policy and must be invoked explicitly with `bash` as shown above. - Fedora package availability varies by Fedora release and enabled repositories. This skill does not enable RPM Fusion or install GPU drivers. - GPU detection identifies vendors, not whether a proposed configuration is correct for a particular driver version, hybrid-graphics routing, monitor, or laptop. - The repair script covers only the checks it reports; it does not diagnose broken symlinks, kernel parameters, GPU driver mismatches, or every portal/audio failure. - Generated configuration is a minimal starting point and is not merged into an existing `hyprland.conf`. - Commands that install or remove packages, change services, or regenerate initramfs require review, explicit consent, and suitable privileges.