This repository is an attempt to make setting up new Macbooks a bit less painful by being selective about which settings and apps are restored. It's a bit more effort than letting the Apple transfer agent do it magically, but the end result is also more clean. It will be in a constant state of progress as my preferences change and I refine the process. You are free to fork this for your own purposes (this project is itself a fork of driesvints/dotfiles setup files), but I strongly encourage you to read through each file (especially the remainder of this README) before running it on your own machine.
The install script is intended to be idempotent, so you can run it as often as you like as you're making adjustments to it. Note that it won't roll back previous setup steps though, so you may need to unset/uninstall things manually if you're removing apps or macos configuration settings. Also note that the script cannot run unattended - you'll be prompted for your password several times.
These instructions are for when you've already set up your dotfiles. If you want to get started with your own dotfiles you can find instructions below.
First, go through the checklist below to make sure you didn't forget anything before you wipe your hard drive.
- Did you commit and push any changes/branches to your git repositories?
- Did you remember to save all open work?
- Did you backup all important files which aren't synced through iCloud, Dropbox, Google Drive, Adobe Cloud, etc?
- Did you remember to export important data from your local database?
- Did you update mackup to the latest version and run
mackup backup
?
After going to our checklist above and making sure you backed everything up, we're going to cleanly install macOS with the latest release. Follow this article to cleanly install the latest macOS.
If you did all of the above you may now follow these install instructions to setup a new Mac.
- Make sure you've updated macOS to the latest version via the App Store
- Make sure you're signed into the App Store
- Install Xcode from the App Store, open it and accept the license agreement
- Install macOS Command Line Tools by running
xcode-select --install
- Copy your public and private SSH keys to
~/.ssh
and make sure they're set to600
- Clone this repo to
~/.dotfiles
- Append
/usr/local/bin/zsh
to the end of your/etc/shells
file - Run
fresh.sh
to start the installation. Keep an eye on it to ensure it finishes, or resolve any errors and then restart it. - Restore preferences by running
mackup restore
- Restart your computer to finalize the process
Your Mac is now ready to use!
Note: you can use a different location than
~/.dotfiles
if you want. Just make sure you also update the reference in the.zshrc
file.
If you want to start with your own dotfiles from this setup, it's pretty easy to do so. First of all you'll need to fork this repo. After that you can tweak it the way you want.
Please note that the instructions below assume you already have set up Oh My Zsh so make sure to first install Oh My Zsh before you continue.
Go through the .macos
file and adjust the settings to your liking. You can find much more settings at the original script by Mathias Bynens and Kevin Suttle's macOS Defaults project.
Check out the Brewfile
file and adjust the apps you want to install for your machine. Use brew search
to check if the app you want to install is available.
Check out the aliases.zsh
file and add your own aliases. If you need to tweak your $PATH
check out the path.zsh
file. These files get loaded in because the $ZSH_CUSTOM
setting points to the .dotfiles
directory. You can adjust the .zshrc
file to your liking to tweak your Oh My Zsh setup. More info about how to customize Oh My Zsh can be found here.
When installing these dotfiles for the first time you'll need to backup all of your settings with Mackup. Install Mackup and backup your settings with the commands below. Your settings will be synced to iCloud so you can use them to sync between computers and reinstall them when reinstalling your Mac. If you want to save your settings to a different directory or different storage than iCloud, checkout the documentation.
brew install mackup
mackup backup
You can tweak the shell theme, the Oh My Zsh settings and much more. Go through the files in this repo and tweak everything to your liking.
Enjoy your own Dotfiles!