explaingit

nicolashery/mac-dev-setup

5,748ShellAudience · developerComplexity · 1/5Setup · easy

TLDR

A step-by-step written guide for setting up a full programming environment on a Mac from scratch, covering Homebrew, Git, VS Code, Python, Node.js, and databases, explained for beginners.

Mindmap

mindmap
  root((Mac Dev Setup))
    Steps
      System preferences
      Security settings
      Terminal setup
    Core tools
      Homebrew
      Git
      VS Code
    Languages
      Python with pyenv
      Node.js
      Ruby
    Databases
      PostgreSQL
      Redis
      Elasticsearch
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up a Mac from scratch with all the tools needed for web or Python development.

USE CASE 2

Install and configure Homebrew, Git, and VS Code in one guided session.

USE CASE 3

Set up pyenv to manage multiple Python versions without conflicts.

USE CASE 4

Get PostgreSQL and Redis running locally for backend app development.

Tech stack

ShellHomebrewGitPythonNode.js

Getting it running

Difficulty · easy Time to first run · 1h+

This is a manual step-by-step guide, not an automated install script, plan for an hour or more to work through it.

In plain English

This repository is a written guide for setting up a programming environment on a Mac from scratch. It was originally written for friends who were new to programming on macOS and has grown into a personal reference document that the author keeps updated. The guide walks through the process step by step: updating the operating system, adjusting system preferences, enabling basic security settings like full-disk encryption, and then installing the tools a developer typically needs. It starts with iTerm2 (a terminal application with more features than the default one), then moves through Homebrew (a package manager that makes installing software from the terminal much easier), Git (for version control), Visual Studio Code, Python, Node.js, Ruby, PostgreSQL, Redis, and Elasticsearch. For each tool, the guide explains what it is in plain terms, then gives the actual commands to run or steps to follow. It also covers smaller quality-of-life details: setting up a more readable terminal prompt with colors, creating useful command shortcuts called aliases, and using a tool called pyenv to manage multiple Python versions without them conflicting. The guide is a document, not an automated script. You follow it manually rather than running a single install command. This means you understand what each step does and can skip anything you do not need. The author notes that not every tool listed is necessary for every project, but having them set up tends to be useful eventually. The steps were originally tested on macOS High Sierra and the author notes they should work on more recent versions. The repository also includes shell configuration files (.bash_profile.bash_prompt.aliases) that can be downloaded as a starting point for your own terminal setup.

Copy-paste prompts

Prompt 1
I just got a new Mac and want to set up a Python dev environment. Walk me through installing Homebrew, pyenv, and the latest Python version.
Prompt 2
Show me how to configure iTerm2 with a colorful prompt and useful shell aliases, following the mac-dev-setup guide.
Prompt 3
How do I install and run PostgreSQL locally on a Mac using Homebrew? Give me the commands and how to connect to it.
Prompt 4
What .bash_profile and alias settings from mac-dev-setup are most useful for a JavaScript developer working with Node.js?
Open on GitHub → Explain another repo

← nicolashery on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.