🍏 Setting Up Your Fresh MacOS Installation: A Comprehensive Guide ✅

Streamline your MacOS setup with Homebrew, over 100 essential apps, and customization tips

Setting up a full stack development environment on MacOS in 1 hour

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.

This post is based on a GitHub Gist I have been maintaining since 2015-03 with >160 revisions by now, see it at basnijholt/install-fresh-macOS.md
Table of Contents

1. Manual Installations

First, let’s manually install some essential tools and software:

  1. homebrew, the essential package manager for MacOS
  2. micromamba, my preferred conda package manager which is blazingly fast
  3. Chrome (manual install because the brew version doesn’t work with 1Password)
  4. 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.

This content below is automatically generated from this json file and markdown-code-runner

1. 🌐 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.

  • Install with brew install --cask hiddenbar
  • See the formula and repo

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.

  • Install with brew install --cask keepingyouawake
  • See the formula and repo

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.

  • Install with brew install --cask homebrew/cask-fonts/font-fira-code
  • See the repo and docs

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.

  • Install with brew install gromgit/fuse/ext4fuse-mac
  • See the repo and docs

Git LaTeXdiff 📄🔍

A command-line tool for generating diff files for LaTeX documents, simplifying the tracking of changes and collaboration on LaTeX projects.

  • Install with brew install homebrew/tex/git-latexdiff
  • See the repo and docs

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.

  • Install with brew install --cask microsoft-azure-storage-explorer
  • See the formula , repo , and docs

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.

  • Install with brew install gromgit/fuse/ntfs-3g-mac
  • See the repo and docs

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.

  • Install with brew install gromgit/fuse/sshfs-mac
  • See the repo and docs

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.

osxfuse (and thus sshfs) is deprecated from Homebrew, there is this tap [here] that I can use to install osxfuse and sshfs.

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:


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!

Edit this page

Bas Nijholt
Bas Nijholt
Staff Engineer

Hi.

Related