Hi Future Robert (and other Dev's),
This repository contains my personal macOS setup and dotfiles. Dries blog post shows his orginal files with way more settings. I have deleted settings not relevant to my work.
When getting a new Mac, I can restore my working environment quickly, predictably, and without guessing what I used to do.
Running the setup script will configure a macOS machine for:
- Laravel development (container-first via Docker + Lando)
- Homebrew-managed CLI tools and applications
- Zsh with minimal, intentional customization
- macOS defaults I prefer for daily work
- A single, consistent project directory: ~/Sites
Local PHP is installed only for tooling (Composer). Runtime happens in containers.
These instructions assume:
- macOS is freshly installed
- you’ve signed into your Apple ID
- this machine will be used for development
Install all available system updates via System Settings.
If you already have an SSH key registered with GitHub, you can skip this step.
To generate a new key:
curl https://raw.githubusercontent.com/webrobert/dotfiles/HEAD/ssh.sh | sh -s "your@email.com"
After the script runs, copy the public key and add it to GitHub.
git clone git@github.com:webrobert/dotfiles.git ~/.dotfiles
bash ~/.dotfiles/fresh.sh
This will:
- install Homebrew (if missing)
- install CLI tools and applications
- configure the shell
- apply macOS defaults
- create the ~/Sites directory
- optionally clone personal repositories
Some changes require a new shell session or a full restart.
After that, the machine should be ready for daily work.
- All projects live in ~/Sites
- Docker Desktop must be opened once after installation
- Laravel projects are run via Lando
- Helper scripts (spin-*.sh, clone.sh) are optional conveniences
This repo is meant to evolve. If something no longer reflects how I work, it should be updated or removed.
This setup was influenced by the broader dotfiles community, mainly,
- Dries Vints
- Zach Holman
- Mathias Bynens