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 important documents from non-iCloud directories?
- Did you save all of your work from apps which aren't synced through iCloud?
- Did you remember to export important data from your local database?
- Did you update mackup to the latest version and ran
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 version.
Nick Italiano's "." + "files" for Zsh, python, git, and more.
They assume you're using OSX.
Questions? Comments? Open an issue or tweet @nickitalian0.
$ git clone [email protected]:nickitaliano/dotfiles.git ~/.dotfiles
$ cd ~/.dotfiles
$ ./install.sh
It will install rcm and use that to safely symlink the dotfiles, prompting you
if a file already exists (like if you already have ~/.zshrc
).
rcm
will symlink all files into place, keeping the folder structure relative
to the tag root. However, non-configuration files and folders like system/
,
Brewfile
, README.md
, etc will not be linked because they are in the
EXCLUDES
section of the rcrc
file.
rcm
has the concept of tags: items under tag-git/
are in the git
tag, and
so on. I'm using it for organization.
All of the Zsh configuration is in zshrc
.
Install it manually from the website, start it and add it to the deck.
Initial settings:
- Create a new profile in
Preferences > Profile
namedwhite
Colors > Color presets > Tango Light
Session > Status bar enabled
andConfigure Status Bar
. Addgit state
,CPU utilization
,Memory utilization
. ClickAuto-Rainbow
.
- Mark
white
profile and selectOther Actions > Set as default
.
Install it on the command line first, it will ask for permission.
xcode-select --install
Note: I keep this disabled for improved security, though some sessions may require heavy sudo usage.
sudo vim /private/etc/sudoers.d/uname
#uname ALL=(ALL) NOPASSWD: ALL
These tools are managed without Homebrew on purpose, e.g. for manual updates.
- Workflows: Alfred including my Powerpack license
I only use Docker locally, required VMs run in Hetzner Cloud (private), GCP or AWS. Docker for Mac provides the docker-compose
binary required to run demo environments.
VirtualBox needs work with Kernel modules. I highly recommend to get a Parallels license instead.
These are manual settings as they require user awareness.
See here for detailed instruction
Shortcuts
: Disable Spotlight in preparation for enabling Alfred next.
Start Alfred from the Applications folder, and change the hotkey to Cmd+Space
.
Ensure that Spotlight is disabled in the system preferences.
Preferences > Sidebar
and add
- User home
- System root
- Google Chrome Canary
- Docker (account required)
- Spotify (account required)
Following the GitLab handbook:
- Firefox (in order to reproduce UX bugs)
- VLC
- Wireshark
More insights can be found in these lists:
On major version upgrades, binaries might be incompatible or need a local rebuild. You can enforce a reinstall by running the two commands below, the second command only reinstalls all application casks.
brew reinstall $(brew list)
brew reinstall $(brew list --cask)
When Xcode and compilers break, re-install the command line tools.
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
If you did all of the above you may now follow these install instructions to setup a new Mac.
- Update macOS to the latest version with 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
- Generate a new public and private SSH key and add them to Github
- Clone this repo to
~/.dotfiles
- Install Oh My Zsh
- Run
fresh.sh
to start the installation - After mackup is synced with your cloud storage, 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.
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.
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.
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 their search page 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. Also make sure your .zshrc
file is symlinked from your dotfiles repo to your home directory.
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 Dotfiles!
I came across dotfiles while automating my Macbook Pro setup and used Github does dotfiles as inspiration to start my own dotfiles project. Both Zach Holman and Mathias Bynens were great sources of inspiration. Sourabh Bajaj's Mac OS X Setup Guide proved to be invaluable and Dries Vints' dotfiles were edited for my base!