After recently getting a new Macbook Pro, I decided to start from a clean slate, rather than simply use a Time Machine backup to restore. Why? Well, I had almost 4 years of cruft built up on my old machine, and I wanted to use this as an opportunity to re-evaluate the programs and settings that I had accumulated during that time.
Note that this is not meant to be an all-encompassing guide, but rather something to surface programs and tools that you maybe haven’t come across yet.
A much better, more fully featured terminal than the one that ships default with macOS.
zsh & oh-my-zsh
First, make sure that you already have
zsh installed. You probably do, but double check:
OK great, you have it. So what’s
zsh you ask? It’s a shell for Unix-based systems, and an alternative to bash (the default shell on macOS systems), fish, and others. A few nice features native to
- Really good autocompletion
- Shared history between shell tabs
- And most of all, compatibility with oh-my-zsh
oh-my-zsh is self-described as, “…an open source, community-driven framework for managing your
zsh configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes…”
Basically, it makes your life as an engineer a lot better.
Get to it:
Homebrew’s a great package manager for macOS. It’ll allow you to install many other useful scripts, packages, & programs.
Cask is an extension of Homebrew and will allow you to install macOS apps and other large binaries (things not supported by Homebrew out of the box).
Once you’ve got those four things installed, you can install a bunch of useful things pretty rapidly.
This makes your git diffs in the terminal much more readable.
Then customize your
diff-so-fancy colors like so:
Tons of little git commands that make your life better, including:
And many, many more.
A command line http client that’s a lot more fun to use than cURL.
Really, really fast searching. It’s like
ack but orders of magnitude faster.
fish-like autosuggestions in your
Prevents your display from dimming and your laptop from going to sleep during idle periods.
A simple, yet highly configurable text editor developed by Github. Much better than SublimeText.
Customize any keys or mouse gestures & a lot more.
The hacker’s window manager. Bind keyboard shortcuts to specific window layouts.
The layperson’s window manager. Drag & drop windows to have them resize or “stick” somewhere.
Excellent macOS launcher that’s highly configurable. One of its key features is a clipboard history tool.
Once Alfred is installed, take a look at some of these plugins.
Changes the color temperature of your display based on the time of day. Extremely useful for filtering out harsh blue light when working late at night.
Declutter your toolbar.
Stats about your machine right in the toolbar.
A really nice cli for Postgres that has syntax highlighting and auto-completion.
Encrypt your hard drive in the event that your laptop is lost or stolen.
Block ads and other junk at the network level.
Open-source implementation of the OpenPGP standard.
Crypto made a lot easier. Sign, verify, encrypt, generate messages, sign code, move keys around, and more.
Monitor your outgoing network connections.
VPN service for when you need to join an unsecured network.
A cli for working with LastPass. Use this in conjunction with the LastPass Alfred workflow.
A search engine that doesn’t track you. Make it your default search engine in Chrome’s omnibox.
Makes it faster to ‘scroll’ when using your keyboard arrow keys. Set ‘Key Repeat’ to ‘Fast’ and ‘Delay Until Repeat’ to ‘Short’.
This is a pretty useless key. You can also bind it to something more useful later (like Ctrl).
Siri is unfortunately just not good.
vim-plug is a really nice vim plugin manager.
.vimrc file (a continuing work-in-progress):
Cloud backups made really easy. One of those things you never hope you actually need, but is a lifesaver when you do.