#!/bin/bash SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source "$SCRIPT_DIR/../utils.sh" install_packages python-pipx gnome-shell-extensions ensure_gext EXTENSIONS=( "tilingshell@ferrarodomenico.com" "tailscale-gnome@diskmth.fr" ) echo "Detected GNOME Shell version: $(gnome-shell --version)" for ext in "${EXTENSIONS[@]}"; do if ~/.local/bin/gext list | grep -q "$ext"; then echo "Extension already installed: $ext" continue fi echo "Installing extension: $ext..." # The filesystem backend installs without GNOME Shell's confirmation dialog; # the extension loads at next login ~/.local/bin/gext --filesystem install "$ext" ~/.local/bin/gext --filesystem enable "$ext" echo " Installed and enabled: $ext" done # The extensions' settings (gnome-settings.dconf) are loaded by # apply-gnome-settings.sh, which install.sh runs later, and only when the file # has changed. Loading them here too reset users' own changes on every refresh.