# Personal Setup on macOS
Links: [[macOS]]
- Most recently confirmed working on macOS 12.5.1
## Setup
### [[Xcode]]
![[Xcode#Install Xcode and Command Line Tools]]
### [[Homebrew]]
![[Homebrew#Install Homebrew on macOS https brew sh]]
### [[Git]]
![[Git#Install Git using Homebrew]]
- `git --version` will likely point to the Apple git which ships with [[Xcode]]. `which git` probably shows `/usr/bin/git` at this point. Once the brew binaries at `/usr/local/bin` precedes `/usr/bin` in path, the up-to-date homebrew version will be used.
### [[zsh]]
![[zsh#Install zsh on macOS]]
### [[Oh My Zsh]]
![[Oh My Zsh#Install]]
### [[dotfiles]]
![[dotfiles#Set up dotfiles]]
### [[Rust]]
![[Rust#Install Rust on any Unix-like OS]]
### [[Neovim]]
![[Neovim#Install or upgrade with Homebrew]]
### [[vim-plug]]
![[vim-plug#Install for Neovim https github com junegunn vim-plug neovim]]
### [[fzf]] and [[fzf-tab]]
![[fzf#Install on macOS]]
### [[ripgrep]]
![[ripgrep#Install with Cargo]]
### [[Postgres]]
![[Postgres#Install with Homebrew https formulae brew sh formula postgresql on macOS]]
### [[Python]]
![[Python#Install with Homebrew]]
### [[coc.nvim]]
![[coc.nvim#Install]]
### [[YouCompleteMe]]
![[YouCompleteMe#Install]]
### (Optional) [[sccache]]
![[sccache#Setup]]
### Prevent accidentally opening dictation when pressing Ctrl twice
There's no way to turn off the shortcut, so just set it to something absurd such as all modifier keys + `\`.
Under System Preferences > Keyboard > Dictation:
![[Screen Shot 2022-09-23 at 8.37.47 PM.png]]
### Disable automatically arranging spaces based on most recent use
Uncheck "Automitacally rearrange Spaces based on most recent use" under`System Preferences > Mission Control`
![[Screen Shot 2023-01-02 at 3.37.36 AM.png]]
### Disable "Swipe between pages" in System Preferences > Trackpad
Too easy to accidentally go forward / back when web browsing
![[Screen Shot 2024-01-23 at 6.31.35 PM.png]]
### Misc (mostly optional)
Rust tools
```bash
# Local CI
cargo install cargo-watch
# Count LOC
cargo install tokei
# Check dependencies
cargo install cargo-crev
# Deep clean build dirs
cargo install cargo-cache
```
GPG
```bash
brew install gpg
```
Misc
```bash
brew install cmake
brew install gh
brew install tree
brew install bat # Syntax highlighting for fzf in vim
cargo install git-delta # Better git diffs
brew install protobuf # SGX enclave toolchain
# Try to avoid
brew install thefuck
brew install tldr
```