macOS
Getting started
A brief guide for setting up macOS with essential developer tools, including Xcode command line tools, nvm, pnpm and Homebrew. Follow step-by-step instructions to install, configure and update your development environment efficiently.
References
- Xcode command line tools
- nvm
- pnpm
- Homebrew
- bat
- ffmpeg
- gh
- jq
- pipx
- zsh-autosuggestions
- zsh-syntax-highlighting
-
Xcode command line tools
Terminal window xcode-select --install -
nvm
Terminal window curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash -
pnpm
Terminal window curl -fsSL https://get.pnpm.io/install.sh | sh - -
Download apps
-
Homebrew
Install
Terminal window /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Add packages
Terminal window brew install ffmpeg jq bat gh pipx zsh-autosuggestions zsh-syntax-highlighting-
ffmpeg: A complete, cross-platform solution to record, convert and stream audio and video.
-
jq: A lightweight and powerful command-line JSON processor for parsing, filtering and transforming JSON data.
-
bat: a
catclone with syntax highlighting, Git integration and other useful features. -
gh: official GitHub CLI tool for managing repositories, pull requests, issues and more from the terminal.
-
pipx: tool to install and run Python applications in isolated environments, keeping them separate from system-wide Python packages.
-
zsh-autosuggestions: zsh plugin that provides command-line suggestions based on history and completions.
-
zsh-syntax-highlighting: zsh plugin that adds syntax highlighting to the terminal, improving readability and reducing mistakes.
-
-
Update git and shell configs
Quick install
Terminal window bash <(curl -fsSL https://raw.githubusercontent.com/huffmanks/config-stash/main/scripts/get-dotfiles.sh)Custom install (with exports)
Terminal window bash <(curl -fsSL https://raw.githubusercontent.com/huffmanks/config-stash/main/scripts/get-dotfiles.sh) -- --exports allTerminal window bash <(curl -fsSL https://raw.githubusercontent.com/huffmanks/config-stash/main/scripts/get-dotfiles.sh) -- --exports docker nvm pnpmConfig options
Flag Description —exports Add exports to .zshrc all Enable every tool listed below bun Bun environment exports docker Docker aliases and paths go Go (GOPATH/bin) exports java-android-studio Java and Android Studio paths nvm Node Version Manager config pipx Pipx binary paths pnpm PNPM home and path config -
Compile shell
Terminal window zcompile ~/.zshrc && zcompile ~/.zprofile && exec zshzcompileprecompiles.zshrcand.zprofileinto a binary format.zshrc.zwcand.zprofile.zwc.exec zshfully restarts the shell session and clears any temporary shell variables or functions.- When zsh starts, it loads the
.zwcfiles instead of parsing the original files, reducing startup time.