80 lines
2.7 KiB
Bash
Executable File
80 lines
2.7 KiB
Bash
Executable File
#!/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."
|