Skip to content

Instantly share code, notes, and snippets.

@Minasokoni
Last active March 2, 2025 18:43
Show Gist options
  • Select an option

  • Save Minasokoni/0efb73dcebf9c34cf8bfccc9f0e0fb20 to your computer and use it in GitHub Desktop.

Select an option

Save Minasokoni/0efb73dcebf9c34cf8bfccc9f0e0fb20 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# Setup script for setting up a new macos machine
echo "Starting setup"
# install xcode CLI
xcode-select —-install
# Check for Homebrew to be present, install if it's missing
if test ! $(which brew); then
echo "Installing homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
export PATH=/opt/homebrew/bin:$PATH
# ohmyzsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Update homebrew recipes
brew update
personal_dev() {
PACKAGES=(
git
yarn
node
nvm
make
rsync
readline
ffmpeg
gh
)
echo "Setting up personal environment..."
echo "Installing packages..."
brew install ${PACKAGES[@]}
brew link --force readline
echo "Cleaning up..."
brew cleanup
mkdir -p ~/Development
}
echo "Installing cask..."
CASKS=(
slack
spotify
zed
visual-studio-code
1password
google-chrome
figma
imageoptim
logitech-options
mimestream
notion
raycast
vlc
kicad
battle-net
signal
ghostty
)
echo "Installing cask apps..."
brew install --cask ${CASKS[@]}
# remove all icons from dock
defaults write "com.apple.dock" "persistent-apps" -array; killall Dock
# set dock size
defaults write com.apple.dock "tilesize" -int "68"
# show file extensions
defaults write NSGlobalDomain "AppleShowAllExtensions" -bool "true"
# set finder to show hidden files
defaults write com.apple.finder "AppleShowAllFiles" -bool "true"
# set finder to show path bar
defaults write com.apple.finder "ShowPathbar" -bool "true"
# set finder to list view
defaults write com.apple.finder "FXPreferredViewStyle" -string "Nlsv"
# empty trash after 30 days
defaults write com.apple.finder "FXRemoveOldTrashItems" -bool "true"
# title bar icons
defaults write com.apple.universalaccess "showWindowTitlebarIcons" -bool "true"
# hide desktop icons
defaults write com.apple.finder "CreateDesktop" -bool "false"
# show hard drives
defaults write com.apple.finder "ShowHardDrivesOnDesktop" -bool "true"
# show connected servers
defaults write com.apple.finder "ShowMountedServersOnDesktop" -bool "true"
# mouse speed
defaults write NSGlobalDomain com.apple.mouse.scaling -float "2"
# hide quarantine warning
defaults write com.apple.LaunchServices "LSQuarantine" -bool "false"
# disable autosave
defaults write NSGlobalDomain "NSCloseAlwaysConfirmsChanges" -bool "false"
killall Finder
killall Dock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment