Custom bootstrap installation and configuration for Mac OS X.
In order to have easier reinstalls of my Mac, I wrote scripts based off of fBootstrap and Wilto's dotfiles. The files are organized as follows:
- bootstrap.sh: Command script to run the process.
- brew/*.sh: Scripts to install software.
- config/osx.sh: Script to set custom settings to OSX.
First, install XCode from the Mac App Store.
Then, run the following:
git clone git://github.com/krimkus/OSXBootstrap.git ~/.bootstrap
cd ~/.bootstrap && ./bootstrap.sh
If the Mac this is being installed on has a ssd boot drive or a battery,
use the appropriate flags, --ssd
and --battery
cd ~/.fBootstrap && ./bootstrap.sh --ssd --battery
During the installation/configuration process, you will be prompted for your username/email and root credentials.
I think that most of these scripts are perfectly useful for anybody. However, there are parts that you should consider to adapt to fit your own needs:
- The applications installed under /brew/brew.sh could be customized to your needs. More casks available at https://github.com/phinze/homebrew-cask
- Everything under /config/osx.sh is relatively personal. Take a look and decide for yourself.
An essential pack of software for your Mac:
- Homebrew
- Homebrew-Cask
- Zsh + Oh my zsh!
- The Unarchiver
- Google Chrome
- VLC Media Player
- Spotify
- Bartender
- BetterTouchTool
- Coconutbattery
- DaisyDisk
- Transmit
- 1Password
- Wireguard VPN
You also get these tools for development:
And last but not least, this bootstrap will install:
Ctrl
+⌥
+⌘
+c
to copy file/dir paths from Finder. I know drag and drop is cool, but not as much as this shortcut!
There are tasks that I would still like to automate:
Installing homebrew currently prompts to install dev tools because it isn't by default with XCode (Checking for clang is not enough). But the shortcut for that could be run first.
Turn on (or warn) full-disk encryption if installing on a laptop Customize finder sidebar:
- Hide all-my-files, movies, music, pictures, bonjour, idisk
- Show ~, ~/Code, boot disk
Customize Alfred and Spotlight more:
- Launch Alfred at login
- change Spotlight hotkey to alt-space
- change Alfred hotkey to command-space
Customize iTerm2:
- Set theme to https://draculatheme.com/iterm
- Set windows to open Columns: 120, Rows: 60
- Set font to Menlo Powerline, regular 14pt https://github.com/Lokaltog/powerline-fonts
Code to add to this repo:
- check that mysql and postgres are working properly, add Django db_settings defaults
- remove default mac apps from the dock
Add tasks to the Reminders app to do the following:
- Copy in private keys
- Copy in OS X keychains
- Copy in 1Password library, or turn on cloud storage
- Copy in Transmit favorites
- Add mail accounts
I kept as much references as I could (in-line with the code) to the work of others. But I'm going to be more clear:
-
Much of the structure is based on fbeeper's fBootstrap, which is freely licensed.
-
Code adapted from Thoughtbot's Laptop has an MIT License.
-
Code that is not already licensed is free software, and may be redistributed under the terms specified in the LICENSE file.
-
Thanks for all the people who wrote all the software installed using this script.
I'd be happy to hear any comments, ideas, code, questions.
You can find me at: github.com/krimkus, or @kylerimkus.