dotfiles
Introduction
A collection of scripts to bootstrap a clean install of macOS.
Installation
-
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
togit@github.com:craighurley/dotfiles.git
. -
Install homebrew by running the following command:
~/Projects/dotfiles/.brew_install
-
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 # Copy templates to ~. These files don't really belong in version control, hence they are not symlinked. ~/Projects/dotfiles/.templates # Configure sensible defaults in macOS. ~/Projects/dotfiles/.macos # Install command line package manager and additional command line tools. ~/Projects/dotfiles/.brew # Install command line package manager and additional applications. ~/Projects/dotfiles/.cask # Open Firefox now, to generate the default profile. # Backup existing dotfiles and symlink to the dotfiles in this project. ~/Projects/dotfiles/.dotfiles # Apply preferences to applications. ~/Projects/dotfiles/.preferences
-
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
Post Install Tasks
- Import Terminal config.
- Import iTerm 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.
- Download/install binary apps:
- https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
- https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html
- https://www.terraform.io/downloads.html
- https://github.com/awslabs/aws-cloudformation-template-formatter/releases/
- https://github.com/hashicorp/go-getter/releases/
- https://taskfalcon.org/index.html
Update
Run the following commands to get the latest version of this project:
cd ~/Projects/dotfiles/
git pull origin master
Feedback
Suggestions/improvements welcome!