My macOS setup: Homebrew, apps, and defaults 🍏
Streamline your MacOS setup with Homebrew, over 100 essential apps, and customization tips
Setting up a full stack development environment on MacOS in 1 hourdotfiles repo and the dotfiles blog post for more details.Introduction #
Setting up a new MacOS installation can be a tedious process. This blog post will guide you through the essential steps and applications to install when setting up your fresh MacOS environment. I’ll cover a few unavoidable manual installations, homebrew, iTerm and VS Code font, oh-my-zsh, but can automate most other things.
Note that this is just what I have been doing for the last years, and you might want to do things differently.
basnijholt/install-fresh-macOS.mdTable of Contents
1. Manual Installations #
First, let’s manually install some essential tools and software:
- homebrew, the essential package manager for MacOS
- micromamba, my preferred conda package manager which is blazingly fast
- Chrome (manual install because the brew version doesn’t work with 1Password)
- File-up, a simple tool I made to upload files to an FTP server and copy the URL to the clipboard (optional)
Set a host file to block unwanted websites and advertisements.
2. Homebrew #
Homebrew is a powerful package manager for MacOS. It allows you to quickly and easily install, update, and remove software.
To install a long list of essential applications and tools, run the following commands in your terminal (click to unfold):
brew install --cask \
adobe-creative-cloud \
adobe-digital-editions \
airflow \
avast-security \
balenaetcher \
bartender \
bettertouchtool \
brave-browser \
cakebrew \
calibre \
chromedriver \
cryptomator \
db-browser-for-sqlite \
disk-inventory-x \
docker \
dropbox \
eqmac \
exodus \
filebot \
firefox \
flux \
github \
google-chrome \
handbrake \
hiddenbar \
homebrew/cask-fonts/font-fira-code \
inkscape \
istat-menus \
iterm2 \
jabref \
karabiner-elements \
keepingyouawake \
licecap \
lulu \
lyx \
macfuse \
mactex \
mactracker \
mendeley \
microsoft-azure-storage-explorer \
microsoft-office \
microsoft-teams \
monitorcontrol \
mounty \
mpv \
musicbrainz-picard \
nordvpn \
obs \
obsidian \
onyx \
protonmail-bridge \
qbittorrent \
qlvideo \
raycast \
rectangle \
rotki \
sabnzbd \
selfcontrol \
signal \
skype \
sloth \
spotify \
steam \
switchresx \
syncthing \
teamviewer \
telegram \
tor-browser \
tunnelblick \
unclack \
universal-media-server \
visual-studio-code \
vlc \
webtorrent \
xquartz \
zoom
brew install \
autossh \
azure-cli \
bat \
brew-cask-completion \
cointop \
gh \
gifsicle \
git \
git-extras \
git-lfs \
git-secret \
gnupg \
go \
graphviz \
gromgit/fuse/ext4fuse-mac \
gromgit/fuse/ntfs-3g-mac \
gromgit/fuse/sshfs-mac \
homebrew/tex/git-latexdiff \
htop \
hugo \
imagemagick \
jq \
keychain \
micro \
microsoft/git/git-credential-manager-core \
nano \
openjdk \
pipx \
rbenv \
rclone \
rsync \
ruby \
rustup-init \
ssh-copy-id \
starship \
terraform \
tmux \
wget \
yq \
zsh
Otherwise, you can install the essential applications and tools one by one.
json file and markdown-code-runner1. 🌐 Browsers #
Brave Browser 🛡️🦁
A privacy-focused browser with built-in adblocker and support for Chrome extensions, rewarding content creators via BAT tokens.
Chrome 🌐💨
A fast and user-friendly browser with seamless Google service integration and extensive extension library.
Firefox 🔓🦊
An open-source browser prioritizing user privacy and security, offering a customizable experience with various add-ons.
2. 🛠️ Productivity Tools #
Bartender 🍸🖥️
A utility to organize and manage your Mac’s menu bar icons, improving aesthetics and accessibility.
- Install with
brew install --cask bartender - See the formula
BetterTouchTool 👆🛠️
A customizable input device manager that enables advanced gesture control and shortcuts for your Mac.
Graphviz 📊🖋️
An open-source graph visualization software, capable of representing structural information as diagrams of abstract graphs and networks.
HiddenBar 📏🖥️
A lightweight tool to hide menu bar icons and declutter your Mac’s interface.
JQ 📄🔍
A lightweight and flexible command-line JSON processor, enabling data extraction, transformation, and manipulation of JSON data.
Karabiner-Elements ⌨️🔧
A powerful keyboard customizer allowing you to remap keys, create shortcuts, and improve typing efficiency on your Mac.
KeepingYouAwake ☕💻
A utility to prevent your Mac from going to sleep or turning off the display when you need it to stay active.
Obsidian 📝🔗
A powerful note-taking and knowledge management application that uses plain text files with Markdown support.
Raycast ⚡🖱️
A productivity tool that allows you to control your Mac using powerful and customizable command-based actions.
Rectangle 🖼️⌨️
A window management tool to easily resize and position windows on your Mac using keyboard shortcuts or snap-to-edge functionality.
iStat Menus 📊🌡️
A comprehensive system monitor providing detailed information about your Mac’s performance through customizable menu bar icons.
- Install with
brew install --cask istat-menus - See the formula
3. 📣 Communication #
Microsoft Teams 📞📈
A collaboration and communication platform for businesses, integrating chat, meetings, file sharing, and more.
Signal 🔐💬
A secure and private messaging app with end-to-end encryption, supporting voice and video calls.
Skype 📱🌍
A widely used communication tool for voice and video calls, instant messaging, and file sharing.
Telegram 🚀🔒
A cloud-based messaging platform with a focus on speed and security, supporting large groups and file sharing.
Zoom 📹🔗
A popular video conferencing tool for virtual meetings, webinars, and collaboration.
4. 💻 Development #
Airflow 🌬️📊
The ultimate way to watch your videos on Chromecast, Apple TV and AirPlay 2 enabled TVs.
- Install with
brew install --cask airflow - See the formula
Autossh 🔗🔐
A tool for automatically starting and maintaining SSH connections.
Azure CLI ☁️🔧
A command-line tool for managing Azure resources.
Bat 🦇📄
A cat command clone with syntax highlighting and Git integration.
Chromedriver 🌐🚦
A WebDriver for running web tests with Chrome.
Docker 🐳📦
A platform for developing, shipping, and running containerized applications.
Git Credential Manager Core 🧑💻🔑
A cross-platform credential helper for Git for HTTPS authentication.
- Install with
brew install microsoft/git/git-credential-manager-core - See the repo
Git Extras ➕🔧
Extra utilities and scripts for Git.
Git LFS 🗄️🔗
A Git extension for versioning large files.
Git Secret 🤫🔐
A tool for storing sensitive data in Git repositories.
Git 🧑💻🔄
A widely used distributed version control system.
Go 🏃♂️🔤
An open-source programming language designed for simplicity and concurrency.
Hugo 🌐🛠️
A fast and flexible static site generator.
Java ☕💻
A popular programming language and development platform.
Micro ✍️🖥️
A modern and intuitive terminal-based text editor.
Nano 📝🔍
A simple and easy-to-use terminal text editor.
Rbenv 💎🔧
A Ruby version management tool.
Ruby 💎💻
A dynamic, open-source programming language focused on simplicity and productivity.
Rustup-Init 🦀🛠️
A toolchain installer for the Rust programming language.
Terraform 🌍🛠️
An infrastructure as code software tool for managing cloud resources.
Visual Studio Code 💻✏️
A powerful and extensible code editor with integrated Git and debugging support.
5. 🎨 Graphics and Design #
Gifsicle 🎞️🛠️
A command-line tool for creating, editing, and optimizing GIF animations and images.
ImageMagick 🖼️🛠️
A powerful command-line tool for creating, editing, and converting bitmap images, supporting a wide range of image formats.
Inkscape ✏️🖼️
A professional vector graphics editor that supports various file formats, offering a powerful set of drawing tools for graphic design.
OBS (Open Broadcaster Software) 🎮🎥
A powerful and customizable software for live streaming and screen recording, widely used by content creators and gamers.
6. 🖥️ Terminal and Shell #
Brew-Cask-Completion 🍺📝
Shell completion for the Homebrew-Cask command, providing helpful suggestions and autocompletion.
- Install with
brew install brew-cask-completion - See the formula
GitHub CLI (gh) 🐙💻
A command-line tool for managing GitHub repositories, issues, pull requests, and more, directly from the terminal.
Htop 📊🖥️
An interactive process viewer for Unix systems, providing a real-time, color-coded view of system resources and processes.
Starship 🚀⭐
A minimal, fast, and customizable shell prompt for any shell.
Tmux 📺🔀
A terminal multiplexer for managing multiple terminal sessions within a single window.
XQuartz 🎨🖥️
An open-source X Window System implementation for macOS that allows running X11 applications, enabling compatibility with many Unix programs.
Zsh 🐚🚀
An interactive and highly extensible Unix shell.
iTerm2 🖥️🎛️
A highly customizable and powerful terminal emulator for macOS.
7. 🅰️ Fonts #
Font Fira Code 📝🔠
A monospaced font with programming ligatures, designed for a modern coding experience. Enhances readability and aesthetics in code editors.
8. 📂 File Management and Utilities #
BalenaEtcher 💾🚀
A user-friendly tool for flashing OS images onto SD cards and USB drives, simplifying the creation of bootable media.
Cakebrew 🍰🍺
A GUI for managing Homebrew packages, providing an easy way to search, install, and update software.
Cryptomator 🔒☁️
An open-source encryption solution for cloud storage services, offering transparent, client-side encryption for data security.
DB Browser for SQLite 🗃️🔍
A high-quality, visual tool to create, design, and edit SQLite database files, streamlining database management.
Disk Inventory X 💽📊
A disk usage utility for macOS that displays folder and file sizes in a visual treemap, enabling quick identification of large files.
Dropbox ☁️📁
A popular cloud storage service that seamlessly synchronizes files across devices, making file sharing and collaboration easy.
MPV 🎞️🎧
A free, open-source, and cross-platform media player with minimalistic design, supporting a wide range of media formats.
Mounty 🗻💽
A user-friendly tool for mounting and writing to NTFS drives on macOS, providing seamless read/write access.
Rclone 🔄☁️
A command-line program to manage files on various cloud storage services, supporting synchronization, copying, and more.
Rsync 🔄📁
A powerful file transfer utility that uses delta encoding and compression to minimize data transfer, optimizing file synchronization.
SSH-Copy-ID 🔑🔗
A utility to install your public key on a remote machine’s authorized_keys, simplifying the setup of passwordless SSH connections.
Syncthing ⚙️☁️
A decentralized, open-source file synchronization tool that securely shares and synchronizes files between devices without relying on cloud services.
Universal Media Server 📺🌐
A versatile media server that supports various devices and streaming protocols, allowing you to stream your media files across your home network.
Wget 🌐⬇️
A command-line utility for downloading files from the internet, supporting HTTP, HTTPS, and FTP protocols.
9. 🔒 Security and Privacy #
Avast Security 🛡️🐜
A comprehensive antivirus and security suite, offering protection against various threats, as well as VPN and cleanup features.
- Install with
brew install --cask avast-security - See the formula
GnuPG (GPG) 🔐🔑
A complete and free implementation of the OpenPGP standard, providing encryption, signing, and key management capabilities.
Keychain 🔑🔗
A tool for managing ssh-agent and GnuPG agent, designed to make key management easier and more convenient.
LuLu 🚦🔥
A lightweight, open-source firewall for macOS, offering control over outgoing connections and protecting against unauthorized access.
NordVPN 🌐🔒
A popular VPN service providing a secure and encrypted connection, allowing access to geo-restricted content and protecting your privacy.
ProtonMail Bridge 📧🔐
A desktop application enabling the use of ProtonMail with your preferred email client, ensuring end-to-end encryption and privacy.
Tor Browser 🕵️♀️🌐
A privacy-focused browser that routes your traffic through the Tor network, ensuring anonymity and access to hidden services on the dark web.
Tunnelblick 🚇🔗
A free, open-source VPN client for macOS, providing an easy-to-use interface for connecting to OpenVPN servers.
10. 🎥 Multimedia #
HandBrake 🎞️🔧
A versatile video converter and transcoder, supporting a wide range of formats and offering advanced customization options.
LICEcap 🖥️🎥
A lightweight screen capture tool, allowing you to create animated GIFs directly from your desktop.
MusicBrainz Picard 🎵🔖
An open-source music tagger, using the MusicBrainz database to automatically update and organize your audio files’ metadata.
Spotify 🎧🎶
A popular music streaming service, offering access to millions of songs, podcasts, and personalized playlists with a free or premium account.
Steam 🎮🌐
A digital distribution platform for purchasing and managing video games, providing a vast library of titles and social features.
VLC 📺🔊
A versatile and open-source media player, supporting a wide range of audio and video formats, as well as streaming and conversion capabilities.
WebTorrent 🌐⚡
A user-friendly torrent client that runs directly in your browser, enabling streaming of torrent files without the need for a separate application.
eqMac 🎚️🎶
An open-source audio equalizer for macOS, enhancing your listening experience with customizable presets and manual adjustments.
11. 📄 Office and Document Management #
Adobe Creative Cloud 🎨🖥️
A suite of creative applications for graphic design, video editing, web development, and more, including Photoshop, Illustrator, and Premiere Pro.
Adobe Digital Editions 📚🔖
An ebook reader and manager, supporting various formats and DRM-protected files, as well as syncing across devices.
Calibre 📚🔧
An open-source ebook management tool, offering format conversion, syncing, and organization features, as well as a built-in reader.
FileBot 📁🔍
A media file organization tool, simplifying the renaming and sorting of TV shows, movies, and music files.
JabRef 📖🔗
An open-source reference manager, enabling the organization and citation of scientific publications in BibTeX and other formats.
LyX 📄🎓
A document processor that combines the power of LaTeX with a user-friendly graphical interface, simplifying the creation of professional-looking documents.
MacTeX 📚🔣
A comprehensive TeX distribution for macOS, including LaTeX, various utilities, and documentation.
Mactracker 🍎💾
A comprehensive database of Apple hardware and software, providing detailed specifications, history, and support information.
Mendeley 📚🔗
A reference manager and academic social network, simplifying the organization, annotation, and citation of research papers.
Microsoft Office 📝💼
A suite of productivity applications, including Word, Excel, PowerPoint, and Outlook, designed for creating, editing, and managing documents.
OnyX ⚙️🖥️
A multifunctional utility for macOS, offering maintenance, optimization, and personalization features, as well as advanced options for power users.
12. 📈 Finance and Cryptocurrency #
Cointop 💹📈
A command-line interface for tracking cryptocurrency market data, with an interactive and customizable dashboard.
Exodus 💰🔒
A user-friendly cryptocurrency wallet, supporting a wide range of assets, exchange features, and portfolio management.
13. 🎲 Miscellaneous #
Ext4Fuse 🐧💽
A macOS filesystem extension enabling read-only support for the ext4 file system, commonly used on Linux systems.
Git LaTeXdiff 📄🔍
A command-line tool for generating diff files for LaTeX documents, simplifying the tracking of changes and collaboration on LaTeX projects.
GitHub 🧑💻🔄
The official GitHub desktop client, simplifying repository management, version control, and collaboration on macOS.
MacFuse 💽🔗
A macOS filesystem extension enabling the use of non-native filesystems, offering compatibility with a wide range of formats.
Microsoft Azure Storage Explorer ☁️🗃️
A graphical tool for managing Azure Blob Storage, offering convenient access, organization, and management of your cloud storage.
MonitorControl 🖥️🎚️
A utility for controlling your external monitor’s settings, such as brightness and volume, directly from your macOS menu bar.
NTFS-3G 🖥️🔗
A macOS filesystem extension providing read-write support for the NTFS file system, commonly used on Windows systems.
QLVideo 🎥👀
A QuickLook plugin for macOS, providing thumbnail previews and playback of various video formats directly in Finder.
Rotki 💹🔐
An open-source portfolio tracking and tax reporting tool for cryptocurrencies, offering extensive customization and privacy options.
SABnzbd 🌐🗞️
A binary newsreader for Usenet, offering automation features, a web interface, and compatibility with popular download management tools.
SSHFS 💻🔗
A macOS filesystem extension enabling mounting of remote filesystems via SSH, providing secure and convenient access to remote files.
SelfControl 🚫🕒
A productivity tool for macOS, allowing you to block access to distracting websites and applications for a set period of time.
Sloth 🐌💻
A macOS utility for displaying open files and network connections, offering insights into system resource usage and potential bottlenecks.
SwitchResX 🖥️🔍
A display resolution management tool for macOS, enabling custom resolutions, aspect ratios, and refresh rates for your monitor.
TeamViewer 🌐💻
A remote desktop and collaboration tool, offering screen sharing, file transfer, and remote control capabilities for personal and professional use.
Unclack 🎤🔇
A utility for macOS that automatically mutes your microphone while you type, preventing unwanted noise during conference calls and voice recordings.
f.lux 🌞🌛
A screen color temperature adjustment tool, reducing eye strain and promoting healthy sleep patterns by adapting your display to the time of day.
pipx 🐍📦
A package manager for installing and running Python applications in isolated environments, ensuring clean and conflict-free installations.
qBittorrent ⚡📁
A free and open-source torrent client, featuring a clean interface, powerful search capabilities, and minimal resource usage.
yq 📄🔧
A command-line tool for parsing and manipulating YAML files, offering powerful filtering and editing capabilities.
3. Increase sudo Password Timeout #
To increase the sudo password timeout, follow the instructions provided in this StackExchange answer.
4. oh-my-zsh #
oh-my-zsh is a popular framework for managing your Zsh configuration. Follow the download instructions provided in the link, or use the dotfiles folder if you have it.
5. Set Your Mac Host/Computer Name #
To set a custom host or computer name for your Mac, open a terminal and run the following commands:
NAME="your-custom-name"
sudo scutil --set HostName $NAME
sudo scutil --set LocalHostName $NAME
sudo scutil --set ComputerName $NAME
dscacheutil -flushcache
6. Quick Dock Hiding #
For a cleaner desktop experience, follow this StackExchange answer to enable quick dock hiding.
7. iTerm and VS Code Font #
The Fira Code font is a popular choice for developers. To set it as the default font for iTerm and Visual Studio Code:
- iTerm should be set by
Profiles.json - Follow the VS Code instructions
Conclusion #
After completing these steps, restart your Mac. You now have a fully customized and functional MacOS environment, ready for productivity and creativity. Enjoy your freshly set-up MacOS!