The following is a guide I wrote to guide one through a fresh installation on a new machine. Enjoy!
This is also available on Tangled.
Quote time:
“To be in hell is to drift; to be in heaven is to steer.” ― George Bernard Shaw
Version
1.9.6
Last Tested on MacOS 15.7.5
App Store Applications
- Xcode
sudo xcodebuild -license accept
Third Party Applications
- Raycast A collection of powerful productivity tools all within an extendable launcher. Fast, ergonomic and reliable. I install this with Homebrew, just wanted to highlight it here.
- StartyParty for firefox, made by me
- StartyParty Addons
Dotfiles
Majority of configurations are stored in my private dotfiles repository; currently a private repository.
Dotfilesgitlab.com/arbitrarily/dotfiles
Non Dotfile Settings & Configs
I don't really use this anymore, but it's still available if you want to use it.cmus Themegithub.com/arbitrarily/cmus-theme
Fonts
Fonts are Backed up to /Dropbox/Resources and dotfiles and are installed via Homebrew.
Nerd Fontsgithub.com/ryanoasis/nerd-fonts
zsh
# Install Oh-My-zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # Install plugins git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Add to plugins=() in ~/.zshrc:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
Set Up SSH Keys
# Generate SSH ssh-keygen -t ed25519 -C "your_email@example.com" # Add to keychain & agent ssh-add --apple-use-keychain ~/.ssh/id_ed25519 # Copy public key pbcopy < ~/.ssh/id_ed25519.pub # Test if worked ssh -T git@github.com
Add to ~/.ssh/config:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
Set Up Git
git config --global user.name "Name" git config --global user.email email@email.com git config --global github.user user_name_here git config --global github.token your_token_here git config -l --global git config --global core.editor "zed --wait" git config --global color.ui true
.gitconfig is contained within the dotfiles repository and contains further Git configurations.
Git Commit Signing (SSH)
git config --global gpg.format ssh git config --global user.signingkey ~/.ssh/id_ed25519.pub git config --global commit.gpgsign true
Set Hostname
sudo scutil --set HostName ###
Set Up Mac OS Preferences
Commands to customize Mac OS settings and preferences. Pick and choose what you want to change, make sure to run the killall Finder Dock SystemUIServer command after changing any settings.
Finder
# Show hidden files in Finder defaults write com.apple.finder AppleShowAllFiles YES # Show the ~/Library folder chflags nohidden ~/Library # Finder: show all filename extensions defaults write NSGlobalDomain AppleShowAllExtensions -bool true # Finder: show status bar defaults write com.apple.finder ShowStatusBar -bool true # Finder: show path bar defaults write com.apple.finder ShowPathbar -bool true # When performing a search, search the current folder by default defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
Global
# Set a fast keyboard repeat rate defaults write NSGlobalDomain KeyRepeat -int 0 # Set a shorter delay until key repeat defaults write NSGlobalDomain InitialKeyRepeat -int 12 # Store screenshots in subfolder on desktop mkdir ~/Screenshots defaults write com.apple.screencapture location ~/Screenshots killall SystemUIServer # Skip Verify Images defaults write com.apple.frameworks.diskimages skip-verify true # Prevent Apple Character Press and Hold defaults write -g ApplePressAndHoldEnabled -bool false # Enable Text Selection in QuickLook defaults write com.apple.finder QLEnableTextSelection -bool TRUE # Disable the warning before emptying the Trash defaults write com.apple.finder WarnOnEmptyTrash -bool false # Disable shadow in screenshots defaults write com.apple.screencapture disable-shadow -bool TRUE
Dock
# Remove Animations defaults write NSGlobalDomain NSWindowResizeTime -float 0.001 # Hide the Desktop defaults write com.apple.finder CreateDesktop false # Set the size of the icons on the dock defaults write com.apple.dock tilesize -int 54 # Clear out the dock of default icons defaults delete com.apple.dock persistent-apps defaults delete com.apple.dock persistent-others # Faster Dock Animation defaults write com.apple.dock autohide-time-modifier -float 0.15 # Dull Hidden Apps in Dock defaults write com.apple.Dock showhidden -bool TRUE # Make Dock only Show Active Apps defaults write com.apple.dock static-only -bool true # Automatically hide and show the Dock defaults write com.apple.dock autohide -bool true # Don’t show recent applications in Dock defaults write com.apple.dock show-recents -bool false # Dont' show indicator lights for open applications in the Dock defaults write com.apple.dock show-process-indicators -bool false
Dashboard & Spaces
# Add a contextual menu item to show the Web Inspector in web views defaults write NSGlobalDomain WebKitDeveloperExtras -bool true # Don’t show Dashboard as a Space defaults write com.apple.dock dashboard-in-overlay -bool true # Automatically rearrange Spaces based on most recent use FALSE defaults write com.apple.dock mru-spaces -bool false # Disable Dashboard defaults write com.apple.dashboard mcx-disabled -bool true
Login Screen
# Add Message to Login Screen sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "In found, please call ###-###-####"
Security
# Enable FileVault sudo fdesetup enable # Enable Firewall sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setloggingmode on
Siri
# Opt-out from Siri data collection defaults write com.apple.assistant.support 'Siri Data Sharing Opt-In Status' -int 2 # Disable 'Ask Siri' defaults write com.apple.assistant.support 'Assistant Enabled' -bool false # Disable Siri voice feedback defaults write com.apple.assistant.backedup 'Use device speaker for TTS' -int 3 # Disable 'Do you want to enable Siri?' pop-up defaults write com.apple.SetupAssistant 'DidSeeSiriSetup' -bool True # Hide Siri from menu bar defaults write com.apple.Siri 'StatusMenuVisible' -bool false defaults write com.apple.Siri 'UserHasDeclinedEnable' -bool true # Disable Siri services (Siri and assistantd) launchctl disable "user/$UID/com.apple.assistantd" launchctl disable "gui/$UID/com.apple.assistantd" sudo launchctl disable 'system/com.apple.assistantd' launchctl disable "user/$UID/com.apple.Siri.agent" launchctl disable "gui/$UID/com.apple.Siri.agent" sudo launchctl disable 'system/com.apple.Siri.agent'
# Just in Case: Revert Dock to Default defaults write com.apple.dock static-only -bool false
# Restart Finder, Dock, and SystemUIServer killall Finder Dock SystemUIServer
Install Xcode Command Line Tools
xcode-select --install
Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrew PATH (Apple Silicon)
# Add to ~/.zshrc or ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
Install Apps Via Homebrew Cask
# install tools brew install awscli bat borders btop ccache cmake colordiff ddgr deno elixir eza fd ffmpeg fzf gh git go gnu-sed imagemagick jq lazygit mackup mas mdcat memcached mysql neovim nightlight nmap node nvm postgresql@14 redis ripgrep ruff rust shellcheck shfmt sketchybar skhd spicetify-cli stow stylua supabase switchaudio-osx telnet terminal-notifier tmux uv web-ext wget yabai yarn yt-dlp z zsh # install casks brew install --cask affinity-photo apparency bitwarden calibre chromedriver discord displaylink docker docker-desktop dropbox figma font-hack-nerd-font google-chrome imageoptim kitty little-snitch lm-studio mimestream mongodb-compass obsidian qlcolorcode qlimagesize qlmarkdown qlstephen qlvideo quicklook-json quicklookase raycast spotify surfshark suspicious-package syntax-highlight the-unarchiver transmit ungoogled-chromium vlc whatsapp yaak zed zen zen-browser
Node
# Install LTS Node via nvm nvm install --lts nvm use --lts nvm alias default node
Restore Dotfiles
I use Mackup to restore my dotfiles.
mackup restore
Window Managers
# Start services yabai --start-service skhd --start-service brew services start sketchybar brew services start borders
Marko Bajlovic
- https://marko.tech/uses
- Based on uses.tech, this page is a showcase of my favorite tools, software, hardware and other recommended resources.
Sourced from all over and throughout the years.