#!/usr/bin/env bash set -Eeuo pipefail # Runtime environment source /etc/os-release if [[ "${ID:-}" != "debian" || "${VERSION_ID:-}" != "13" ]]; then echo "Error: this script supports Debian 13 only." >&2 exit 1 fi # Ensure interactive login shells can find system administration commands. USR_SBIN_PROFILE=/etc/profile.d/usr-sbin-path.sh if [[ ! -e "${USR_SBIN_PROFILE}" ]]; then sudo tee "${USR_SBIN_PROFILE}" >/dev/null <<'EOF' case ":${PATH}:" in *:/usr/sbin:*) ;; *) export PATH="${PATH}:/usr/sbin" ;; esac EOF sudo chmod 0644 "${USR_SBIN_PROFILE}" echo "Configured ${USR_SBIN_PROFILE}." fi # Prevent /tmp from being mounted as a tmpfs sudo systemctl mask tmp.mount # Window title bar buttons gsettings set org.gnome.desktop.wm.preferences button-layout \ ':minimize,maximize,close' # Show the weekday and seconds in the desktop clock gsettings set org.gnome.desktop.interface clock-show-weekday true gsettings set org.gnome.desktop.interface clock-show-seconds true # Set the idle timeout to 30 minutes gsettings set org.gnome.desktop.session idle-delay 'uint32 1800' # Use touch-style scrolling direction for the mouse gsettings set org.gnome.desktop.peripherals.mouse natural-scroll true # Disable Caps Lock # gsettings set org.gnome.desktop.input-sources xkb-options "['caps:none']" # Enable Caps Lock to toggle between keyboard layouts gsettings set org.gnome.desktop.input-sources xkb-options "['grp:caps_toggle']" # Disable GNOME Software update checks, downloads, and notifications gsettings set org.gnome.software allow-updates false gsettings set org.gnome.software download-updates false gsettings set org.gnome.software download-updates-notify false # Install Dash to Dock sudo apt-get install -y gnome-shell-extension-dashtodock # Keep the Dash visible gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed true gsettings set org.gnome.shell.extensions.dash-to-dock autohide false gsettings set org.gnome.shell.extensions.dash-to-dock intellihide false # Do not open the Activities Overview automatically after login gsettings set org.gnome.shell.extensions.dash-to-dock \ disable-overview-on-startup true # Dash click behavior gsettings set org.gnome.shell.extensions.dash-to-dock click-action \ 'focus-minimize-or-appspread' # Show one running indicator dot per application window gsettings set org.gnome.shell.extensions.dash-to-dock \ running-indicator-style 'DOTS' # Install AppIndicator sudo apt-get install -y gnome-shell-extension-appindicator # Enable GNOME extensions gsettings set org.gnome.shell enabled-extensions \ "['dash-to-dock@micxgx.gmail.com', 'ubuntu-appindicators@ubuntu.com']" echo "GNOME desktop configuration completed. Log out and back in if a newly installed extension is not visible."