Files
coredesktop/gnome/gnome-extensions.sh
T
davidandClaude Opus 5.5 906f2b1b47
shellcheck / shellcheck (push) Failing after 15s
Don't reset the extensions' settings on every refresh
gnome-extensions.sh loaded gnome-settings.dconf unconditionally, so each
refresh (install.sh runs it) undid users' changes to those settings,
bypassing apply-gnome-settings.sh's check that the file has changed. That
script, which install.sh runs later, already loads the settings when
needed. The smoketest's 11-refresh caught it: Tiling Shell's
selected-layouts went back to the file's value.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 09:01:39 -07:00

34 lines
990 B
Bash
Executable File

#!/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.