I use a setup script that installs brew, a brewfile, runs chezmoi to setup terminal and defaults, pulls some secrets/keys out of 1Password, and good to go, other than manually having to log into certain things. Everything in a personal dotfiles repo. I do have to occasionally diff my brewfile and terminal config and push that up, I should probably spend a little time figuring out how to automate that.