These are the dotfiles I use on my Macs, currently running macOS Mojave (10.14). They are geared primarily towards Ruby/Rails and Node.js web development using Zsh (via Oh-My-Zsh), Vim/Neovim, and Tmux. Also included are my iTerm2 and Terminal.app profiles.
This repo previously contained my entire provisioning solution for a new machine running a fresh install of macOS. I've now extracted the provisioning functionality into its own repository. Check it out:
▹ Provision a new Mac with Mac Bootstrap.
NOTE: Mac Bootstrap automatically clones and installs this dotfiles repo.
The dotfiles assume you are running macOS with the following software pre-installed:
All of the above and more are included in Mac Bootstrap
git clone https://github.com/joshukraine/dotfiles.git ~/dotfiles
. ~/dotfiles/install.sh
After running install.sh
there are still a couple of things that need to be done.
- Set up iTerm2 or Terminal.app profile (see details below).
- Add personal data to
~/.gitconfig.local
,~/.vimrc.local
, and~/.zshrc.local
. - Complete Brew Bundle with
brew bundle install
- After opening Neovim, run
:checkhealth
and resolve errors/warnings.
Thanks to a great blog post by Trevor Brown, I learned that you can quickly set up iTerm2 by exporting your profile. Here are the steps.
- Open iTerm2.
- Select iTerm2 > Preferences.
- Under the General tab, check the box labeled "Load preferences from a custom folder or URL:"
- Press "Browse" and point it to
~/dotfiles/iterm2/com.googlecode.iterm2.plist
. - Restart iTerm2.
Getting set up after a fresh install is simple.
- Open Terminal.app.
- Select Terminal > Preferences. (But really you'll just press ⌘, right? So much faster.)
- Select the Profiles tab.
- Click the gear icon and select Import...
- Select
~/dotfiles/terminal/<desired-profile>.terminal
and click Open. - Click the Default button to keep using this profile in new Terminal windows.
I recently discovered a resolution to some significant performance issues I had been experiencing running Vim on macOS. These issues were particularly painful when editing Ruby files. I've documented what I learned here:
▹ What I've learned about slow performance in Vim
I'm currently trying out Neovim, and so far things are working nicely. For now I have things set up so I can run either Vim or Neovim interchangeably. This is accomplished by telling Neovim's config file (~/.config/nvim/init.vim
) to source the standard Vim config file (~/.vimrc
).
More info:
- https://neovim.io/doc/user/nvim.html#nvim-from-vim
- https://neovim.io/doc/user/vim_diff.html#vim-differences
- Pro Vim (https://github.com/Integralist/ProVim)
- Trevor Brown (https://github.com/Stratus3D/dotfiles)
- Chris Toomey (https://github.com/christoomey/dotfiles)
- thoughtbot (https://github.com/thoughtbot/dotfiles)
- Lars Kappert (https://github.com/webpro/dotfiles)
- Ryan Bates (https://github.com/ryanb/dotfiles)
- Ben Orenstein (https://github.com/r00k/dotfiles)
- Joshua Clayton (https://github.com/joshuaclayton/dotfiles)
- Drew Neil (https://github.com/nelstrom/dotfiles)
- Kevin Suttle (https://github.com/kevinSuttle/OSXDefaults)
- Carlos Becker (https://github.com/caarlos0/dotfiles)
- Zach Holman (https://github.com/holman/dotfiles/)
- Mathias Bynens (https://github.com/mathiasbynens/dotfiles/)
- Paul Irish (https://github.com/paulirish/dotfiles)
- http://dotfiles.github.io/
- https://medium.com/@webprolific/getting-started-with-dotfiles-43c3602fd789
- http://code.tutsplus.com/tutorials/setting-up-a-mac-dev-machine-from-zero-to-hero-with-dotfiles--net-35449
- https://github.com/webpro/awesome-dotfiles
- http://blog.smalleycreative.com/tutorials/using-git-and-github-to-manage-your-dotfiles/
- http://carlosbecker.com/posts/first-steps-with-mac-os-x-as-a-developer/
- https://mattstauffer.co/blog/setting-up-a-new-os-x-development-machine-part-1-core-files-and-custom-shell
Copyright © 2018 Joshua Steele. MIT License