A collection of scripts to bootstrap a clean install of macOS.
-
Perform a Software Update.
-
Install xcode command line tools:
xcode-select --install
-
If this is an Apple silicon machine, install Rosetta:
softwareupdate --install-rosetta --agree-to-license
-
Clone this repository by running the following command:
mkdir ~/Projects git clone https://github.com/craighurley/dotfiles.git ~/Projects/dotfiles
Note: after you setup your SSH keys, consider updating the
origin
to[email protected]:craighurley/dotfiles.git
. -
Install homebrew by running the following command:
~/Projects/dotfiles/install_brew.sh
-
Run the following command to do everything.
~/Projects/dotfiles/bootstrap.sh
Notes:
- you will be prompted for your password a number of times during script execution.
Essentially,
bootstrap.sh
executes the following commands:# Create useful directories. ~/Projects/dotfiles/directories.sh # Copy templates to ~. These files don't really belong in version control, hence they are not symlinked. ~/Projects/dotfiles/templates.sh # Configure sensible defaults in macOS. ~/Projects/dotfiles/macos.sh # Install command line package manager and additional command line tools. ~/Projects/dotfiles/brew.sh # Backup existing dotfiles and symlink to the dotfiles in this project. ~/Projects/dotfiles/dotfiles.sh # Apply preferences to applications. ~/Projects/dotfiles/preferences.sh # Install python applications. ~/Projects/dotfiles/pipx.sh
-
Restart your computer.
-
If you want to automatically install applications from the App Store, open the App Store and sign in, then run the following command:
~/Projects/dotfiles/mas.sh
- Import Terminal config.
- Import ssh keys.
- Update details:
~/.ssh/config
.~/.ssh/authorized_keys
.~/.gitconfig.custom
and any additional custom configurations.~/.extra
.~/.pypirc
.~/.aws/config
.~/.aws/credentials
.~/.saml2aws
.
- Sign into Firefox account to sync settings.
- Sign into Chrome account to sync settings.
- Sign into GitHub in VS Code to sync settings.
- Run docker, configure settings and import containers with
container.sh
- Download/install binary apps with
get-binaries.sh
Run the following commands to get the latest version of this project:
cd ~/Projects/dotfiles/
git pull origin master
Suggestions/improvements welcome!