Dotfiles for managing a local development environment on an Apple computer. It includes the following setup:
This repo can be pulled down and managed from any location on your computer. To use the settings in the repo, see the usage instructions below.
The MacOS file contains my preferred MacOS settings and is designed to be run once (like when setting up a new computer). It can be run from within this repo with the following command:
sh macos
The file is a selectively commented and customized version of Mathias Bynens orginal (which can be found at https://mths.be/macos).
To use my iTerm profile and preferences, do the following:
- Install iTerm2:
brew install --cask iterm2
. - Browse to preferences: iTerm2 > Preferences > General > Preferences
- Check the "Load preferences from a custom folder or URL" option.
- Click the "Browse" button, and select the
dotfiles/iterm2
folder (in your locally cloned version of this repo).
Generic dotfiles are managed in this repo using symlinks.
Before setting up the symlinks, it's a good idea to read the buildsymlinks.sh
script and make sure it does what you expect. In short, it does this:
- Back up any existing dotfiles in your home directory to
~/dotfiles_old/
- Create symlinks to this repo's dotfiles in your home directory
- Set up zsh and oh-my-zsh:
- Check to see if zsh is installed. If it isn't, try to install it.
- Clone the oh-my-zsh repository from my GitHub (for use with zsh).
- If zsh is installed, run a
chsh -s
to set it as the default shell.
If all of that looks good, you can setup your symlinks like so:
# Before running, check the "dir" value in buildsymlinks (line 9)
# to make sure it points to this repo's location in your filesystem.
sh buildsymlinks.sh
These dotfiles are designed for a personal computer, using an interactive shell supporting bash. As a result:
.profile
exists, but it's intentionally left empty.bash_profile
contains nearly all of my shell setup.zshrc
only contains zsh-specific setup (importing the rest from.bash_profile
)
With the assumptions above, no other RC files should be necessary. If I ever want to move away from ZSH, then my .bash_profile
will already have everything I need.
zsh
(active): A ZSH-based setup using Robby Russell's oh-my-zsh and a few plugins. It also includes a symlink install script for easy dotfiles managment.bash
(inactive): A BASH-based setup using Barry Clark's bashstrap.