Add macOS system preferences and fix package installations

- Fix claude-code package name (was incorrectly listed as claude-cli)
- Remove Node.js from installer (still required by gemini-cli)
- Add macOS system preferences configuration: auto-hide Dock, show hard disks, show all file extensions, auto-empty trash after 30 days
- Add Touch ID for sudo support (artginzburg/tap/sudo-touchid)
- Add automatic Homebrew updates (every 12 hours with upgrade and cleanup)
- Add new 's' option to configure system preferences separately

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Andreas Düren
2026-01-09 19:14:23 -06:00
parent bf255df1ff
commit a35b6baaa5
6 changed files with 116 additions and 17 deletions

38
bin/configure_macos Executable file
View File

@@ -0,0 +1,38 @@
#! /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
# 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"

View File

@@ -25,6 +25,7 @@ brew install --cask proton-mail
brew install --cask protonvpn
# Development
brew install --cask claude-code
brew install --cask codex
brew tap steipete/tap
brew install --cask steipete/tap/codexbar

View File

@@ -14,14 +14,14 @@ install_homebrew
brew install atuin
brew install bash
brew install bash-completion
brew install pinentry-mac
brew tap artginzburg/tap
brew install artginzburg/tap/sudo-touchid
brew tap domt4/autoupdate
# AI
brew install claude-cli
brew install gemini-cli
# Development
brew install node
# Media
brew install ffmpeg
@@ -31,4 +31,9 @@ brew install mole
brew install rename
brew install ykman
# Configure automatic updates
printf "\n🔧 Configuring automatic Homebrew updates...\n"
mkdir -p ~/Library/LaunchAgents
brew autoupdate start 43200 --upgrade --cleanup --immediate --sudo 2>/dev/null || printf "⚠️ Failed to configure brew autoupdate\n"
printf "\n✅ Homebrew Formulas installation complete!\n"

View File

@@ -18,6 +18,7 @@ while true; do
printf "%s\n" " hf: Install Homebrew Formulas."
printf "%s\n" " hc: Install Homebrew Casks."
printf "%s\n" " m: Install Mac App Store software."
printf "%s\n" " s: Configure macOS system preferences."
printf "%s\n" " i: Install all (executes all of the above steps in order)."
printf "%s\n" " Manage:"
printf "%s\n" " c: Check status of installed software."