Initial commit
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
a6bba29d1f
5 files changed
+303
No files matched your search
+79
@@ -0,0 +1,79 @@
|
||||
#!/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."
|
||||
Reference in new issue
Block a user