Last active
March 2, 2025 18:43
-
-
Save Minasokoni/0efb73dcebf9c34cf8bfccc9f0e0fb20 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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