This repo borrows heavily from Mathias Bynens's dotfiles and Dries Vints's dotfiles.
This also includes tmux
files from this repo.
Warning: If you want to give these dotfiles a try, you should first fork this repository, review the code, and remove things you don't want or need. Don't blindly use my settings unless you know what that entails. Use at your own risk!
Some of the functionality of these dotfiles depends on formulae installed by 02-brew.sh
/ Brewfile
. If you don't plan to run 02-brew.sh
, you should look carefully through the script and manually install any particularly important ones.
- Update macOS to the latest version
- Install the Xcode command line developer tools (required for
git
):xcode-select --install
- While you're waiting, create credentials for this computer and add to GitHub.
- Generate a new ssh key:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- Log in to GitHub
- Add your new public key to your GitHub account settings here:
pbcopy < ~/.ssh/id_rsa.pub
- Generate a new ssh key:
- Clone this repo
mkdir -p ~/github/warmlogic
cd ~/github/warmlogic/
git clone git@github.com:warmlogic/dotfiles.git
cd ~/github/warmlogic/dotfiles/
- Run
01-bootstrap.sh
to copy necessary files (hidden and otherwise) cp .extra ~/.extra
and edit, if desired (explained below)- If installing Mac App Store apps with Brew, sign in to the Mac App Store
- Ensure
Brewfile
includes only the programs you want to install- Run
02-brew.sh
to install apps
- Run
- Run
03-macos.sh
to set up macOS preferences - Restart your computer
- Run
04-python.sh
to set up thebase
Python 3 conda environment - Run
05-python-updates.sh
to update thebase
environment, installing Python 3.10 and making additional convenient updates - Set up installed applications (look at
Brewfile
as a reminder of what was installed) - If needed, copy public and private ssh keys from previous computer to
~/.ssh/
andchmod
to600
- Set up
~/.ssh/config
to add ssh keys to Keychain (instructions)
- Set up
- Set up "Open in Safari or Chrome URL in Other Browser AppleScript + Automator Workflow
More details below.
Clone the repository wherever you want (I keep it in ~/github/warmlogic/dotfiles
). The bootstrapper script (01-bootstrap.sh
) will pull in the latest version and copy the files to your home folder.
cd
into your local dotfiles
repository, and start the installation:
source 01-bootstrap.sh
If ~/.path
exists, it will be sourced along with the other files before any feature testing (such as detecting which version of ls
is being used) takes place.
Here's an example ~/.path
file that adds /usr/local/bin
to the $PATH
:
export PATH="/usr/local/bin:$PATH"
If ~/.extra
exists, it will be sourced along with the other files. You can use this to add a few custom commands without the need to fork this entire repository, or to add commands you don't want to commit to a public repository.
NB: ~/.extra
is included in the repo, but it is not automatically copied over by 01-bootstrap.sh
. Therefore, you'll want to run the following command and edit the new file's contents:
cp .extra ~/.extra
You can also use ~/.extra
to override settings, functions, and aliases. It's probably better to fork this repository instead, though.
When setting up a new Mac, you may want to install some common Homebrew formulae. This installs the Xcode command line developer tools, Homebrew, and everything listed in Brewfile
.
./02-brew.sh
When setting up a new Mac, you may want to set some sensible macOS defaults:
./03-macos.sh
You may also want Python and a number of useful packages related to data analysis (via miniconda or miniforge). This sets up a base
conda environment installs everything listed in init/environment.yml
.
./04-python.sh
./05-python-updates.sh
- Rectangle
- Amphetamine
- Tot
- Set recovery info message: System Preferences -> Security and Privacy -> General -> Show a message when the screen is locked
- Hi! I belong to
$NAME
. If I'm lost and you find me, please contact$NAME
at$CONTACT_INFO
- Hi! I belong to
- Add accounts with your calendars to Internet Accounts (System Preferences)
- Itsycal format:
h:mm a
, show day
- Installed via
Brewfile
- Turn on syncing
Suggestions/improvements welcome!