#! /usr/bin/env bash # Configures macOS system preferences. set -o nounset set -o errexit set -o pipefail IFS=$'\n\t' printf "\nšŸ”§ Configuring macOS system preferences...\n\n" # Hide the Dock printf " • Hiding Dock automatically...\n" defaults write com.apple.dock autohide -bool true # Show hard disks on desktop printf " • Showing hard disks on desktop...\n" defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true # Show user home folder in Finder sidebar printf " • Adding user home folder to Finder sidebar...\n" defaults write com.apple.sidebarlists systemitems -dict-add ShowUserHome -bool true # Show all file extensions printf " • Showing all file extensions...\n" defaults write NSGlobalDomain AppleShowAllExtensions -bool true # Remove items from trash after 30 days printf " • Setting trash to empty after 30 days...\n" defaults write com.apple.finder FXRemoveOldTrashItems -bool true # Safari: Open with all windows from last session printf " • Configuring Safari to restore all windows from last session...\n" defaults write com.apple.Safari AlwaysRestoreSessionAtLaunch -bool true 2>/dev/null || \ printf " ⚠ Safari preference may need to be set manually in Safari > Settings > General\n" # Restart affected applications printf "\nšŸ”„ Restarting Finder and Dock to apply changes...\n" killall Finder killall Dock printf "\nāœ… macOS system preferences configured successfully!\n"