Skip to content

jsrozner/dotfiles

 
 

Repository files navigation

Josh’s dotfiles

Notes: 02/01/2023:

  • 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

todo:

- review the mac defaults setup

- make sure pycharm syncs

- review synchronizing brew files

HOW TO USE

  • 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

Notes on various installations:

Python

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

Jupyter

pip install jupyter_contrib_nbextensions

todo: we should verify that this is installed on other machines

https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/install.html

##################################################3

Installation

Using Git and the bootstrap script

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

Git-free install

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.

Specify the $PATH

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"

Add custom commands without creating a new fork

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.

Sensible OS X defaults

When setting up a new Mac, you may want to set some sensible OS X defaults:

./.osx

Install Homebrew formulae

When setting up a new Mac, you may want to install some common Homebrew formulae (after installing Homebrew, of course):

./.brew

About

.files, including ~/.osx — sensible hacker defaults for OS X

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 59.1%
  • Vim Script 22.2%
  • JavaScript 10.9%
  • Shell 7.7%
  • Other 0.1%