mirror of
https://github.com/LinuxBeginnings/Fedora-Hyprland.git
synced 2026-01-11 15:01:00 -03:00
Enhance quickshell with Fedora version detection and COPR availability checking
- Added Fedora version detection to identify system capabilities - Implemented COPR availability check before installation attempt - Added graceful fallback to AGS with informative messaging for unsupported versions (Rawhide, etc.) - Improved installation verification via rpm package check - Updated install.sh UI to clarify quickshell availability depends on COPR support - Fixed shellcheck warnings: SC2066 (loop expansion) and SC1091 (dynamic source) - Script now completes successfully even if quickshell unavailable, with clear user messaging - Updated COPR to sdegler/hyprland for Fedora43/Rawhide support
This commit is contained in:
@@ -1,6 +1,15 @@
|
||||
## CHANGELOGS
|
||||
|
||||
## Dec 2025
|
||||
## Nov 2025 (Late Nov)
|
||||
|
||||
- Enhanced quickshell.sh with Fedora version detection and COPR availability checking
|
||||
- Added graceful fallback messaging for Rawhide and other unsupported Fedora versions
|
||||
- Improved installation verification and error handling for quickshell package
|
||||
- Updated install.sh UI to inform users about quickshell COPR support dependency
|
||||
- Fixed shellcheck warnings in quickshell.sh (SC2066, SC1091)
|
||||
- Updated COPR to `sdegler/hyprland` Support Fedora43/Rawhide
|
||||
|
||||
## Nov 2025 (Earlier)
|
||||
|
||||
- Updated Quickshell-Overview integration with corrected IPC commands
|
||||
- Fixed OverviewToggle.sh script to use proper `qs ipc` syntax
|
||||
|
||||
@@ -12,9 +12,11 @@
|
||||
# solopasha/hyprland # No longer getting updated
|
||||
# Replaced with sdegler/hypr-test 11/21/2025
|
||||
# Replaced sdegler/hypr-test with lionheartp/Hyprland 11/24/25
|
||||
# Replaced lionheartp/Hyprland with updated sdegler/hyprland COPR
|
||||
# Sdegler supports RAWHIDE and Fedora 43
|
||||
|
||||
COPR_REPOS=(
|
||||
lionheartp/Hyprland
|
||||
sdegler/hyprland
|
||||
erikreider/SwayNotificationCenter
|
||||
errornointernet/packages
|
||||
tofik/nwg-shell
|
||||
|
||||
@@ -14,8 +14,8 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
PARENT_DIR="$SCRIPT_DIR/.."
|
||||
cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; }
|
||||
|
||||
# Source the global functions script
|
||||
if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
# shellcheck source=./Global_functions.sh disable=SC1091
|
||||
if ! source "$(dirname "$(readlink -f "$0")")\Global_functions.sh"; then
|
||||
echo "Failed to source Global_functions.sh"
|
||||
exit 1
|
||||
fi
|
||||
@@ -23,10 +23,24 @@ fi
|
||||
# Set the name of the log file to include the current date and time
|
||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_qshell.log"
|
||||
|
||||
# Function to get Fedora version
|
||||
get_fedora_version() {
|
||||
if [ -f /etc/fedora-release ]; then
|
||||
grep -oP '\d+' /etc/fedora-release | head -1
|
||||
else
|
||||
echo "unknown"
|
||||
fi
|
||||
}
|
||||
|
||||
# Get Fedora version for logging
|
||||
FEDORA_VERSION=$(get_fedora_version)
|
||||
printf "\n%s - Detecting system: ${SKY_BLUE}Fedora ${FEDORA_VERSION}${RESET} \n" "${NOTE}"
|
||||
echo "${INFO} Fedora version detected: ${FEDORA_VERSION}" | tee -a "$LOG"
|
||||
|
||||
# Enable quickshell COPR Repositories
|
||||
printf "\n%s - Adding ${SKY_BLUE}Quickshell COPR repo${RESET} \n" "${NOTE}"
|
||||
|
||||
for repo in "$COPR_QUICK"; do
|
||||
for repo in $COPR_QUICK; do
|
||||
sudo dnf copr enable -y "$repo" 2>&1 | tee -a "$LOG" || { printf "%s - Failed to enable quickshell copr repo\n" "${ERROR}"; exit 1; }
|
||||
done
|
||||
|
||||
@@ -35,11 +49,34 @@ printf "\n%.0s" {1..1}
|
||||
# Installation of main components
|
||||
printf "\n%s - Installing ${SKY_BLUE}Quickshell for Desktop Overview${RESET} \n" "${NOTE}"
|
||||
|
||||
# Install quickshell
|
||||
echo -e "\n${NOTE} - Installing ${SKY_BLUE}Quickshell for Desktop Overview${RESET}"
|
||||
for pkg in "${quick[@]}"; do
|
||||
install_package "$pkg" "$LOG"
|
||||
done
|
||||
# Check if quickshell is available in the COPR repo
|
||||
printf "\n%s - Checking ${SKY_BLUE}Quickshell availability${RESET} in COPR... \n" "${NOTE}"
|
||||
if ! sudo dnf list --available "quickshell" 2>&1 | grep -q "quickshell"; then
|
||||
printf "\n%s - ${YELLOW}Quickshell not found${RESET} in COPR for Fedora ${FEDORA_VERSION}\n" "${WARN}"
|
||||
printf "\n%s - This is ${YELLOW}known to occur${RESET} on Fedora Rawhide when the package hasn't been rebuilt\n" "${NOTE}"
|
||||
printf "\n%s - ${SKY_BLUE}Fallback option available${RESET}: AGS (Aylur's GTK Shell) will be used instead\n" "${INFO}"
|
||||
printf "\n%s - The ${SKY_BLUE}Hyprland-Dots OverviewToggle.sh${RESET} script will automatically detect and use AGS\n" "${INFO}"
|
||||
printf "\n%s - You can install Quickshell manually later if it becomes available for your Fedora version\n" "${NOTE}"
|
||||
echo "${WARN} Quickshell unavailable for Fedora ${FEDORA_VERSION}. AGS fallback will be used." | tee -a "$LOG"
|
||||
printf "\n%.0s" {1..1}
|
||||
else
|
||||
# Install quickshell
|
||||
echo -e "\n${NOTE} - Installing ${SKY_BLUE}Quickshell for Desktop Overview${RESET}"
|
||||
for pkg in "${quick[@]}"; do
|
||||
install_package "$pkg" "$LOG"
|
||||
done
|
||||
|
||||
# Verify installation
|
||||
if rpm -q quickshell &>/dev/null; then
|
||||
echo -e "\n${OK} ${SKY_BLUE}Quickshell${RESET} installed successfully for Fedora ${FEDORA_VERSION}"
|
||||
echo "${OK} Quickshell successfully installed." | tee -a "$LOG"
|
||||
else
|
||||
printf "\n%s - ${YELLOW}Quickshell installation failed${RESET} unexpectedly\n" "${WARN}"
|
||||
printf "\n%s - ${SKY_BLUE}Fallback option available${RESET}: AGS (Aylur's GTK Shell) will be used instead\n" "${INFO}"
|
||||
printf "\n%s - The ${SKY_BLUE}Hyprland-Dots OverviewToggle.sh${RESET} script will automatically detect and use AGS\n" "${INFO}"
|
||||
echo "${WARN} Quickshell installation failed. AGS fallback will be used." | tee -a "$LOG"
|
||||
fi
|
||||
fi
|
||||
|
||||
# NOTE: AGS is no longer removed to allow both AGS and Quickshell to coexist
|
||||
# The Hyprland-Dots OverviewToggle.sh script handles fallback between them
|
||||
|
||||
@@ -202,7 +202,7 @@ options_command+=(
|
||||
"gtk_themes" "Install GTK themes (required for Dark/Light function)" "OFF"
|
||||
"bluetooth" "Do you want script to configure Bluetooth?" "OFF"
|
||||
"thunar" "Do you want Thunar file manager to be installed?" "OFF"
|
||||
"quickshell" "Install quickshell for Desktop-Like Overview" "OFF"
|
||||
"quickshell" "Install quickshell for Desktop-Like Overview (availability depends on COPR support for your Fedora version)" "OFF"
|
||||
"xdph" "Install XDG-DESKTOP-PORTAL-HYPRLAND (for screen share)?" "OFF"
|
||||
"zsh" "Install zsh shell with Oh-My-Zsh?" "OFF"
|
||||
"pokemon" "Add Pokemon color scripts to your terminal?" "OFF"
|
||||
|
||||
Reference in New Issue
Block a user