M1 Mac Development Setup
Mac Usage
Mac UsagePackage Manager
Homebrew
Installation
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Commands
brew install <formula> # Install formula.
brew install --cask <cask> # Install cask.
brew update # Fetch the newest version of Homebrew and all formulae from GitHub.
brew upgrade # Upgrade outdated casks and outdated, unpinned formulae.
brew leaves # List installed formulae that are not dependencies of another installed formula.
brew tap # Tap a formula repository.
brew doctor # Check your system for potential problems.
brew cleanup # Remove stale lock files and outdated downloads for all formulae and casks, and remove old versions of installed formulae.
npm
Installation
brew install node
Yarn
Installation
brew install yarn
CocoaPods
Installation
sudo gem install cocoapods
Shell
Zsh UsageTerminal
iTerm2
Installation
brew install --cask iterm2
iTerm Color Schemes
Version Control
Git
SSH
Generating a new SSH key and adding it to the ssh-agent
Git GUI
brew install --cask sourcetree
Languages
Python3
Installation
brew install python3
JavaScript
Node.js UsageJava
Installation
Java SE Development Kit
Java SE Development Kit 8
Ruby
Version manager
chruby and ruby-install
brew install chruby ruby-install
Installation
ruby-install ruby # Install the current stable version of Ruby
chruby 3.2.0 # Change the current Ruby.
Package Manager
Dependency Manager
gem install bundler
Scheme
Installation
brew install --cask racket
SML
Installation
brew install smlnj
Text Editors
VSCode
Vim
Installation
brew install vim
IDE
JetBrains
Xcode
Developer Tools
Insomnia
The open-source, cross-platform API client for GraphQL, REST, and gRPC.
Tools
Finder Tools
quick-look-plugins
List of useful Quick Look plugins for developers
brew install qlcolorcode qlstephen qlmarkdown quicklook-json betterzip qlimagesize suspicious-package apparency quicklookase qlvideo provisionql quicklook-pat webpquicklook
OpenInCode
macOS Finder toolbar app to open current folder in Visual Studio Code
brew install --cask open-in-code
Menu Bar Tools
Itsycal
Itsycal is a tiny menu bar calendar.
brew install --cask itsycal
MenubarX
A powerful menu bar browser
Dozer
Hide status bar icons on macOS.
brew install --cask dozer
xbar
Put the output from any script or program into your macOS Menu Bar (the BitBar reboot)
brew install --cask xbar
Screen Saver
AppCleaner
Maccy
Installation
brew install --cask maccy
OpenEmu
Retro video game emulation for macOS
Command Line Tools
bat
A cat(1) clone with syntax highlighting and Git integration.
bat <file>
btop
Resource monitor that shows usage and stats for processor, memory, disks, network and processes.
diff-so-fancy
Good-lookin’ diffs with diff-highlight and more.
exa
A modern replacement for
ls
.
fd
A simple, fast and user-friendly alternative to
find
fd <pattern>
ffmpeg
A complete, cross-platform solution to record, convert and stream audio and video.
fzf
A command-line fuzzy finder
fzf
graphicsmagick
Image processing tools collection.
htop
A cross-platform interactive process viewer.
httrack
Website copier/offline browser.
httrack <URLs>
mtr
mtr combines the functionality of the
traceroute
andping
programs in a single network diagnostic tool.
navi
An interactive cheatsheet tool for the command-line
ncdu
NCurses Disk Usage.
ncdu <dir>
pandoc
General markup converter.
pngquant
Lossy PNG compressor
pngquant --ext .png --force 256 *.png */*.png
prettyping
prettyping
is a wrapper around the standardping
tool, making the output prettier, more colorful, more compact, and easier to read.
prettyping
rlwrap
rlwrap
is a ‘readline wrapper’, a small utility that uses the GNU Readline library to allow the editing of keyboard input for any command.
rlwrap <command>
the_silver_searcher
A code searching tool similar to
ack
, with a focus on speed.
tig
Tig is an ncurses-based text-mode interface for git.
tldr
Simplified and community-driven man pages
tldr <command>
tree
List contents of directories in a tree-like format.
tree -L <num> -a
unrar
Command-line unarchiving tools supporting multiple formats
xxh
Bring your favorite shell wherever you go through the ssh.
z
Tracks your most used directories, based on ‘frecency’.
z <dir>
Font
brew tap homebrew/cask-fonts
Fira Code
brew install --cask font-fira-code
Nerd Fonts
brew install --cask font-fira-code-nerd-font
Font Awesome
brew install --cask font-fontawesome
Configuration
Git Config
git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
git config --global interactive.diffFilter "diff-so-fancy --patch"
git config --global color.ui true
git config --global color.diff-highlight.oldNormal "red bold"
git config --global color.diff-highlight.oldHighlight "red bold 52"
git config --global color.diff-highlight.newNormal "green bold"
git config --global color.diff-highlight.newHighlight "green bold 22"
git config --global color.diff.meta "11"
git config --global color.diff.frag "magenta bold"
git config --global color.diff.func "146 bold"
git config --global color.diff.commit "yellow bold"
git config --global color.diff.old "red bold"
git config --global color.diff.new "green bold"
git config --global color.diff.whitespace "red reverse"