My Mac Setup
Table of Contents
- Background
- System Settings
- Finder
- Safari
- Homebrew
- iTerm
- Visual Studio Code
- Terminal Commands
- SSH Keys
Background
Reading these types of posts are always fun for me. Call me a nerd or whatever but there’s something about seeing the apps and workflows that others’ are using. So with that said, here’s mine!
System Settings
Listed below are only the changes that I make from the defaults
General
- Change hostname
Appearance
- Allow wallpaper tinting in windows - Toggle Off
Control Center
- Keyboard Brightness - Show in Control Center
Desktop & Dock
Dock
-
Minimize windows using - Scale Effect
-
Double-click a window’s title bar to - Minimize
-
Show suggested and recent apps in Dock - Toggle Off
Desktop & Stage Manager
- Click wallpaper to reveal desktop - Only in Stage Manager
Widgets
- Show Widgets - Uncheck ‘On Desktop’
Default web browser
- Safari
Windows
-
Close windows when quitting an application - Toggle Off
-
Drag windows to screen edges to title - Toggle Off
-
Drag windows to menu bar to fill screen - Toggle Off
-
Hold option key while dragging windows to tile - Toggle Off
-
Tiled windows have margins - Toggle Off
Mission Control
-
Automatically rearrange Spaces based on most recent use - Toggle Off
-
Group windows by application - Toggle On
Displays
-
Automatically adjust brightness - Toggle Off
-
True Tone - Toggle Off
Sound
Sound Effects
- Play sound on startup - Toggle Off
Focus
- Share across devices - Toggle Off
Keyboard
Text Input - Input Sources
-
Correct spelling automatically - Toggle Off
-
Capitalize words automatically - Toggle Off
-
Show inline predictive text - Toggle Off
-
Add period with double-space - Toggle Off
Mouse
Point & Click
-
Tracking speed - Fast
-
Secondary click - Click Right Side
More Gestures
- Swipe between pages - Scroll Left or Right with One Finger
Trackpad
Point & Click
- Tracking speed - Fast
More Gestures
- App Exposé - Swipe Down with Three Fingers
Finder
Settings
General
- Show these items on the desktop:
Sidebar
- Favorites - Check Home Folder
Advanced
-
Show all filename extensions - Check
-
When performing a search - Search the Current Folder
Safari
Settings
General
-
Safari opens with - All windows from last session
-
Homepage: https://www.google.com/
-
Open “safe” files after downloading - Uncheck
AutoFill
- User names and passwords - Uncheck
Advanced
-
Smart Search field: Show full website address - Check
-
Show features for web developers - Check
Homebrew
Homebrew is a package manager for macOS that allows users to install, update, and manage software packages
brew casks (GUI apps)
iTerm2 - my terminal.app replacement of choice (mainly due to split panes) - brew install --cask iterm2
Apache Netbeans - used for Java development - brew install --cask netbeans
Also need to install Java SDK - https://www.oracle.com/java/technologies/downloads/#jdk23-mac
calibre - how I convert and manage metadata for various text files - brew install --cask calibre - example for converting .epub to .pdf in CLI: ebook-convert input_file output_file
1password - my password manager of choice - brew install --cask 1password
Obsidian - my notes app of choice - brew install --cask obsidian
Adobe Creative Cloud - I mainly am using Lightroom Classic - brew install --cask adobe-creative-cloud
Google Chrome - I only use this browser for college related tasks since my .edu email is provisioned via Gmail and is a managed profile - brew install --cask google-chrome
keepingyouawake - I used to use the caffeinate command in Terminal to prevent my Mac from sleeping. I’ve since switched to keepingyouawake since it has a visual indicator in my Menu Bar for when it’s active or not - brew install --cask keepingyouawake
maccy - my clipboard manager of choice - brew install --cask maccy
Mendeley - reference manager when writing college essays - brew install --cask mendeley-reference-manager
Notion- mainly for ASU notes - brew install --cask notion
PDF Expert - my PDF viewer / editor of choice - brew install --cask pdf-expert
Visual Studio Code - my code editor of choice - brew install --cask visual-studio-code
iStat Menus - use to monitor system hardware - brew install --cask istat-menus
Tailscale - How I remote into my servers from anywhere (VPN) - brew install --cask tailscale
Parallels Desktop - for running virtual machines - brew install --cask parallels
Firefox - I only use this browser for web development. I’d rather have a completely separate browser since it helps my brain “compartmentalize” tasks - brew install --cask firefox
mp3tag - this application allows me to edit the metadata of audio files - brew install --cask mp3tag - example: magick liberty-podcast-art.svg -resize 800x800 liberty-podcast-art.jpg
brew formulae (command line tools)
tree - handy command line tool that lists the content of directories in a tree-like (basically indented) format - brew install tree
ffmpeg - extremely useful command line tool that I use to convert audio and video (alongside a countless amount of other things) - brew install ffmpeg - example: ffmpeg -i input.mp4 output.avi
imagemagick - allows me to easily convert between different image formats - brew install imagemagick
Apps that cannot be installed via command line
SilverFast SE- scanning software for Epson V600
mas
Mac App Store command-line interface brew install mas
AdGuard for Safari (my ad blocker of choice) - mas install 1440147259
Day One my journaling app of choice - mas install 1055511498
Magnet (my window manager of choice) - mas install 441258766
GoodLinks - my Read Later app of choice - mas install 1474335294
Book Tracker - to keep track of TBR list - mas install 1496543317
Screens 5 - control MacBook Pro from iPad - mas install 1663047912
Things 3 - my task manager of choice - mas install 904280696
MindNode - mind mapping software - mas install 6446116532
Reeder (Classic) - my RSS reader of choice - mas install 1529448980
Windows App my screen sharing app of choice for remote access to my Windows machine (formerly Microsoft Remote Desktop) - mas install 1295203466
Sofa - How I keep track of various movies, shows, books, and music that I want to check out - mas install 1276554886
Xcode - IDE for iOS and macOS app development - mas install 497799835
iTerm
Oh My ZSH - open source framework for managing Zsh configuration -
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
iTerm2 Plugins
zsh-autosuggestions - suggests commands as you type based on history and completions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting - enables highlighting of commands whilst they are typed at a zsh prompt into an interactive terminal
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
ZSH Configuration File (.zshrc)
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
)
Settings
Appearance
General
- Theme: Minimal
Windows
- Show window number in title bar: Unchecked
Profiles
Colors
- Color Presets: material-design-colors
Text
-
Font: Fira Mono
-
Size: 15px
Window
-
Columns: 110
-
Rows: 40
Keys
- Key Mappings -> Presets -> Natural Text Editing
Visual Studio Code
Appearance
-
View -> Appearance -> Minimap: Toggle off
-
View -> Appearance -> Sticky Scroll: Toggle off
-
Settings - Word Wrap: On
Extensions
Live Server - be able to launch a local development server with a live reload feature - Live Server -> Settings -> Custom Browser: Firefox
Python - support for the Python programming language; includes Python Debugger, formatting, linting, code navigation, refactoring, variable explorer, test explorer, etc
Atom One Dark Theme - theme of choice
vscode-icons - icon theme of choice
Terminal Commands
# take screenshots as jpg (usually smaller size) and not png
defaults write com.apple.screencapture type jpg
# do not open previous previewed files (e.g. PDFs) when opening a new one
defaults write com.apple.Preview ApplePersistenceIgnoreState YES
# show Library folder
chflags nohidden ~/Library
# show hidden files
defaults write com.apple.finder AppleShowAllFiles YES
# show path bar
defaults write com.apple.finder ShowPathbar -bool true
# show status bar
defaults write com.apple.finder ShowStatusBar -bool true
killall Finder;
# disable creation of .DS_Store files
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
SSH Keys
First, create a new SSH key in the ~/.ssh folder:
ssh-keygen -t ed25519 -C "github"
Create the SSH configuration file if it doesn’t exist yet:
# in case the file is not there yet
touch ~/.ssh/config
In your ~/.ssh/config file, add the new SSH key, so that it can get picked up for every terminal session automatically:
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/github
Add SSH key to MacOS’ keychain:
ssh-add --apple-use-keychain ~/.ssh/github
Copy public key to system clipboard:
cat ~/.ssh/id_rsa.pub | pbcopy
Adding SSH Key on GitHub
-
Settings
-
SSH and GPG keys
-
New SSH keys
-
Paste clipboard contents
Testing SSH key
ssh -T git@github.com