charlesreid1's dotfiles
Forked from mathiasbyens/dotfiles.
Divorced because conflicts.
Github user mathiasbyens released his well-curated dotfiles on Github. I combined these with charlesreid1/yargwid.
This repository contains the current version of my dotfiles.
Installation
Steps:
- Clone the repo
- Make modifications as needed
- Run the brew script
- Run the pre-bootstrap script
- Run the bootstrap script
- Run the Homebrew script
Step 1: clone the repo:
git clone https://github.com/charlesreid1/dotfiles.git
# or
git clone https://charlesreid1.com:3000/charlesreid1/dotfiles.git
Step 2: make modifications as needed (use vim!)
Step-Before-3: make sure you have a brew version of bash:
ls /usr/local/bin/bash
or modify the script pre_bootstrap.sh to set the shell to the system bash at /bin/bash. (Warning: do this at your own risk. I promise it will cause you headaches.)
Step 3: run the pre-bootstrap script. This will set your shell to Homebrew bash and create a vim undo/swap directory:
./pre_bootstrap.sh
Step 4: Run the bootstrap script
./bootstrap.sh
Step 5: run the Homebrew script (this could take a while, so grab a hot or cold beverage):
./homebrew.sh
Explanation
Custom Commands Without Committing
Use the ~/.extra file to set any extra settings without committing them to the repository.
# Git credentials
# Not in the repository
# This prevents people from using my github credentials
GIT_AUTHOR_NAME="Charles Reid"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
git config --global user.name "$GIT_AUTHOR_NAME"
GIT_AUTHOR_EMAIL="charlesreid1@gmail.com"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
git config --global user.email "$GIT_AUTHOR_EMAIL"
Also use the .extra file to override settings, functions, etc from other dotfiles.
Setting $PATH
Use the ~/.path file to set the $PATH variable.
This is run before other files like .aliases, so it should pick up the correct version of binaries
in subsequent sourced dotfiles.
Example ~/.path (actually set in .bash_profile but just an example):
export PATH="/usr/local/bin:$PATH"
Sensible macOS defaults
When setting up a new Mac, you may want to set some sensible macOS defaults:
./mac_settings.sh
Install Homebrew formulae
When setting up a new Mac, you may want to install some common Homebrew formulae (after installing Homebrew, of course):
./brew.sh
Some of the functionality of these dotfiles depends on formulae installed by brew.sh. If you don’t plan to run brew.sh, you should look carefully through the script and manually install any particularly important ones. A good example is Bash/Git completion: the dotfiles use a special version from Homebrew.
Authors
Most of the hard work was done by:
A bit of polishing was done by:
Mathias' Thanks Section
- @ptb and his macOS Setup repository
- Ben Alman and his dotfiles repository
- Cătălin Mariș and his dotfiles repository
- Gianni Chiappetta for sharing his amazing collection of dotfiles
- Jan Moesen and his ancient
.bash_profile+ shiny tilde repository - Lauri ‘Lri’ Ranta for sharing loads of hidden preferences
- Matijs Brinkhuis and his dotfiles repository
- Nicolas Gallagher and his dotfiles repository
- Sindre Sorhus
- Tom Ryder and his dotfiles repository
- Kevin Suttle and his dotfiles repository and macOS-Defaults project, which aims to provide better documentation for
~/.macos - Haralan Dobrev
- Anyone who contributed a patch or made a helpful suggestion