__ __ ____ _
| \/ | __ _ ___ / ___| ___| |_ _ _ _ __
| |\/| |/ _` |/ __| \___ \ / _ \ __| | | | '_ \
| | | | (_| | (__ ___) | __/ |_| |_| | |_) |
|_| |_|\__,_|\___| |____/ \___|\__|\__,_| .__/
|_|
๐ Complete Automated Mac Development Environment Setup ๐
This repository contains an install script which, when run, will completely set up a Macintosh machine configured to Michael Clayton's preferred and opinionated development environment. It will configure and install dot files, applications, packages, et cetera.
The script is designed to be interactive so users can still pick and choose what they want to install/configure, however, you may still want to look through individual Dot Files and pick/choose what you want at a more granular level.
This script is designed to be safe and can be run multiple times.
Simply run the install script via the command:
$ ./start.shThis will present the user with a choice to run the installer in one of two modes.
โญโ Choose Execution Environment: โโฎ
โ > Sandbox (Docker) โ
โ Current Machine โ
โ Quit โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Interactive terminals use Bash-native arrow-key menus. Non-interactive runs, including CI and piped Docker smoke tests, fall back to numeric prompts so the installer remains scriptable and portable.
- Sandbox Environment Installation/Setup changes are made in a dockerized sandbox environment and will not affect the current actual machine. The sandbox can run either an old Vim compatibility profile or a modern Vim + Node profile so Vim plugin fallback and full IDE flows can both be tested.
- Current Machine Installation/Setup changes made in this environment will modify and affect the current actual machine.
lib/macsetup/contains the installer framework: shared constants, helpers, logging, prompts, backups, and application configuration helpers.sections/contains the ordered installation sections that call into the framework.config/contains desired machine configuration such as dotfiles, Git config, VSCode settings, terminal preferences, app preferences, and asdf tool versions.assets/contains copied/static payloads such as fonts, wallpapers, Vim runtime files, the Aerial screensaver, splash images, and demo media.
