From c0c7401af8753b7e982f751282f44b97f5c61c26 Mon Sep 17 00:00:00 2001 From: Jacob Schantli Date: Sat, 28 Feb 2026 15:52:39 -0800 Subject: [PATCH] Update postinstall.sh --- postinstall.sh | 56 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/postinstall.sh b/postinstall.sh index e671b7d..5bb2963 100644 --- a/postinstall.sh +++ b/postinstall.sh @@ -2,7 +2,7 @@ # Post install script for Fedora # Author: Jacob Schantli -# Version: 0.2 +# Version: 0.5 # ----------------------------------------------------------------------------- # Helper Functions @@ -158,6 +158,7 @@ DNF_PACKAGES=( "jstest-gtk" "yaru-icon-theme" "distrobox" + "pipx" ) log_info "Installing DNF packages..." @@ -255,6 +256,59 @@ mkdir -p ~/.config starship preset gruvbox-rainbow -o ~/.config/starship.toml check_status "Starship preset configuration" "non-critical" +log_info "----------------------------------------------------" +log_info "Installing GNOME extensions" +log_info "----------------------------------------------------" + +# Ensure pipx is installed and path is set +if ! command -v pipx &> /dev/null; then + log_info "pipx not found. Installing..." + sudo dnf install -y pipx + pipx ensurepath +fi + +# Install gnome-extensions-cli +log_info "Installing gnome-extensions-cli..." +pipx install gnome-extensions-cli --system-site-packages +check_status "gnome-extensions-cli installation" "non-critical" + +# Define the tool path explicitly to avoid 'pipx run' overhead/warnings +EXTENSION_TOOL="$HOME/.local/bin/gnome-extensions-cli" + +GNOME_EXTENSIONS=( + "dash-to-dock@micxgx.gmail.com" + "app-grid-wizard@mirzadeh.pro" + "appindicatorsupport@rgcjonas.gmail.com" + "blur-my-shell@aunetx" + "caffeine@patapon.info" + "dynamic-music-pill@andbal" + "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com" + "IP-Finder@linxgem33.com" + "lan-ip-address@mrhuber.com" + "update-extension@purejava.org" + "user-theme@gnome-shell-extensions.gcampax.github.com" +) + +log_info "Installing GNOME extensions..." +log_info "NOTE: A popup may appear asking you to confirm installation for each extension." +log_info "If the extension is already installed, no popup will appear." + +for extension in "${GNOME_EXTENSIONS[@]}"; do + log_info "Processing $extension..." + + # Install (using the direct binary path) + "$EXTENSION_TOOL" install "$extension" + + # Attempt to enable the extension (in case it's installed but disabled) + log_info "Ensuring $extension is enabled..." + gnome-extensions enable "$extension" + + # Prompt user to press Enter to continue + read -p "Press Enter to continue (if a popup appeared, confirm it first)..." + + check_status "GNOME Extension $extension" "non-critical" +done + log_info "----------------------------------------------------" log_info "Post-install script completed successfully!" log_info "----------------------------------------------------"