- create a new ssh key on github/ on the machine
- clone with ssh (otherwise need to run git remote to change from http to https), run setup.sh; handle any pre-existing files like bashrc
- git submodule update --recursive --init (necessary for tmux/ vim etc)
- verify that tmux/vim play well together by trying to move bw tmux and vim windows
- files or folders with .sym will be symlinked into ~/
- after creating a new file or folder, run setup.sh to symlink
- if it needs to be sourced, add sourcing appropriately
It's okay to keep a python installed by brew, but avoid using installing packages to it; instead use conda to manage packages. For example jupyter should be installed via conda.
Same with pip; in fact it probably makes sense not to have a pip available in /usr/local/bin; instead maybe keep only a pip3
pip install jupyter_contrib_nbextensions
https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/install.html
##################################################3
You can clone the repository wherever you want. (I like to keep it in ~/Projects/dotfiles
, with ~/dotfiles
as a symlink.) The bootstrapper script will pull in the latest version and copy the files to your home folder.
git clone https://github.com/mathiasbynens/dotfiles.git && cd dotfiles && source bootstrap.sh
To update, cd
into your local dotfiles
repository and then:
source bootstrap.sh
Alternatively, to update while avoiding the confirmation prompt:
set -- -f; source bootstrap.sh
To install these dotfiles without Git:
cd; curl -#L https://github.com/mathiasbynens/dotfiles/tarball/master | tar -xzv --strip-components 1 --exclude={README.md,bootstrap.sh}
To update later on, just run that command again.
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 ~/utils
to the $PATH
:
export PATH="$HOME/utils:$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.
My ~/.extra
looks something like this:
# PATH additions
export PATH="~/bin:$PATH"
# Git credentials
# Not in the repository, to prevent people from accidentally committing under my name
GIT_AUTHOR_NAME="Mathias Bynens"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
git config --global user.name "$GIT_AUTHOR_NAME"
GIT_AUTHOR_EMAIL="mathias@mailinator.com"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
git config --global user.email "$GIT_AUTHOR_EMAIL"
You could also use ~/.extra
to override settings, functions and aliases from my dotfiles repository. It’s probably better to fork this repository instead, though.
When setting up a new Mac, you may want to set some sensible OS X defaults:
./.osx
When setting up a new Mac, you may want to install some common Homebrew formulae (after installing Homebrew, of course):
./.brew