Skip to content
πŸ’» Dotfiles for zsh, vim, emacs, tmux, and bash. Tested on mac os.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
bash feat: update aliases and $PATH Jan 18, 2019
git chore: cleanup Oct 2, 2018
launch-scripts feat: add new volume launchd for backup purposes. Aug 7, 2018
osx feat: ignore todo.txt files in all repos Nov 26, 2016
tmux feat (dot): don't fire harvest in tmux anymore Mar 25, 2018
.gitignore chore: ignore elc (compiled) elisp files Aug 7, 2018
LICENSE chore: add license Apr 17, 2018



git clone ~/.dotfiles

Shell Conf

Source ~/.dotfiles/bash/functions and ~/.dotfiles/bash/aliases in one of these: .bash_profile, .bashrc, or .zshrc.

Zsh Conf

Symlink ~/.dotfiles/zsh/.zshrc to $HOME:

ln -s ~/.dotfiles/zsh/.zshrc ~/.zshrc

OS X Conf

  • Run ~/.dotfiles/osx/ to set system-wide preferences after clean install or on a new machine.
  • Run brew bundle to install everything in Brewfile.


Launchd is OS X's replacement for cron.

  • Symlink each .plist file in ~/.dotfiles/launch-scripts/ into ~/Library/LaunchAgents

    ln -s ~/.dotfiles/launch-scripts/com.some-file.plist ~/Library/LaunchAgents/com.some-file.plist

  • Load each daemon by running launchctl load for each one:

    launchctl load ~/Library/LaunchAgents/com.some-name.plist

Emacs Conf

  • Symlink all files in ~/.dotfiles/emacs to ~/.emacs.d/

    ln -s ~/.dotfiles/emacs/.emacs ~/.emacs.d/ ln -s ~/.dotfiles/emacs/settings.el ~/.emacs.d/ ln -s ~/.dotfiles/emacs/keybinds.el ~/.emacs.d/

Vim Conf

  • Symlink ~/.dotfiles/.vimrc to $HOME

    ln -s ~/.dotfiles/.vimrc ~/.vimrc

Git Conf

  • Symlink both gitmessage.txt and master_git_ignore to $HOME

    ln -s ~/.dotfiles/git/gitmessage.txt ~/.gitmessage.txt

    ln -s ~/.dotfiles/git/master_git_ignore ~/.master_git_ignore

  • Add these files to ~/.gitconfig:

      excludesfile = /Users/asimpson/.master_git_ignore
      template = /Users/asimpson/.gitmessage.txt
  • Also add any local modifications to .gitconfig like so:
        path = path/to/local/config/gitconfig.local

GPG Conf

  • Install pinentry-mac and then tell GPG about it by adding it to ~/.gnupg/gpg-agent.conf like this: pinentry-program /usr/local/bin/pinentry-mac

  • update ~/.gitconfig with these two values to enable GPG signing:

	signingkey = KEYID
  gpgsign = true
  • gpgconf --kill gpg-agent kills the currently running gpg-agent. Use this to test config changes.
You can’t perform that action at this time.