diff options
| -rw-r--r-- | .gitmodules | 3 | ||||
| -rw-r--r-- | README.md | 96 | ||||
| -rw-r--r-- | git/.gitconfig (renamed from git/gitconfig.symlink) | 0 | ||||
| -rw-r--r-- | git/.gitconfig.local | 5 | ||||
| -rw-r--r-- | git/gitconfig.local.example | 6 | ||||
| -rw-r--r-- | haskell/.ghci (renamed from haskell/ghci.symlink) | 0 | ||||
| -rw-r--r-- | i3/.i3/config (renamed from i3.symlink/config) | 0 | ||||
| -rw-r--r-- | i3/.i3status.conf (renamed from system/i3status.conf.symlink) | 0 | ||||
| -rw-r--r-- | mutt/.muttrc (renamed from mutt/muttrc.symlink) | 0 | ||||
| -rwxr-xr-x | script/bootstrap | 234 | ||||
| -rwxr-xr-x | script/install | 10 | ||||
| -rw-r--r-- | system/.Xresources (renamed from system/Xresources.symlink) | 0 | ||||
| -rw-r--r-- | system/.bash_aliases (renamed from system/bash_aliases.symlink) | 0 | ||||
| -rw-r--r-- | system/.bash_logout (renamed from system/bash_logout.symlink) | 0 | ||||
| -rw-r--r-- | system/.bashrc (renamed from system/bashrc.symlink) | 0 | ||||
| -rw-r--r-- | system/.inputrc (renamed from system/inputrc.symlink) | 0 | ||||
| -rw-r--r-- | system/.profile (renamed from system/profile.symlink) | 0 | ||||
| -rw-r--r-- | system/.xinitrc (renamed from system/xinitrc.symlink) | 0 | ||||
| -rw-r--r-- | system/.xsessionrc (renamed from system/xsessionrc.symlink) | 0 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/bb.vim (renamed from vim/vim.symlink/after/ftplugin/bb.vim) | 0 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/c.vim (renamed from vim/vim.symlink/after/ftplugin/c.vim) | 0 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/clean.vim (renamed from vim/vim.symlink/after/ftplugin/clean.vim) | 0 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/html.vim (renamed from vim/vim.symlink/after/ftplugin/html.vim) | 0 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/jade.vim (renamed from vim/vim.symlink/after/ftplugin/jade.vim) | 0 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/javascript.vim | 1 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/markdown.vim (renamed from vim/vim.symlink/after/ftplugin/markdown.vim) | 0 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/python.vim (renamed from vim/vim.symlink/after/ftplugin/python.vim) | 0 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/scala.vim (renamed from vim/vim.symlink/after/ftplugin/scala.vim) | 0 | ||||
| -rw-r--r-- | vim/.vim/after/ftplugin/tex.vim (renamed from vim/vim.symlink/after/ftplugin/tex.vim) | 0 | ||||
| -rw-r--r-- | vim/.vim/plugin/visincrPlugin.vim (renamed from vim/vim.symlink/plugin/visincrPlugin.vim) | 0 | ||||
| m--------- | vim/vim.symlink/bundle/Vundle.vim | 0 | 
31 files changed, 18 insertions, 337 deletions
| diff --git a/.gitmodules b/.gitmodules index bf071fc..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "vim/vim.symlink/bundle/Vundle.vim"] -	path = vim/vim.symlink/bundle/Vundle.vim -	url = https://github.com/VundleVim/Vundle.vim @@ -1,88 +1,16 @@ -# holman does dotfiles +# dotfiles -## dotfiles +My dotfiles. Feel free to use what you can. -Your dotfiles are how you personalize your system. These are mine. +## Install -I was a little tired of having long alias files and everything strewn about -(which is extremely common on other dotfiles projects, too). That led to this -project being much more topic-centric. I realized I could split a lot of things -up into the main areas I used (Ruby, git, system libraries, and so on), so I -structured the project accordingly. +`stow -t ~ <NAME>`, where `<NAME>` is one of: -If you're interested in the philosophy behind why projects like these are -awesome, you might want to [read my post on the -subject](http://zachholman.com/2010/08/dotfiles-are-meant-to-be-forked/). - -## install - -Run this: - -```sh -git clone https://github.com/holman/dotfiles.git ~/.dotfiles -cd ~/.dotfiles -script/bootstrap -``` - -This will symlink the appropriate files in `.dotfiles` to your home directory. -Everything is configured and tweaked within `~/.dotfiles`. - -The main file you'll want to change right off the bat is `zsh/zshrc.symlink`, -which sets up a few paths that'll be different on your particular machine. - -`dot` is a simple script that installs some dependencies, sets sane OS X -defaults, and so on. Tweak this script, and occasionally run `dot` from -time to time to keep your environment fresh and up-to-date. You can find -this script in `bin/`. - -## topical - -Everything's built around topic areas. If you're adding a new area to your -forked dotfiles — say, "Java" — you can simply add a `java` directory and put -files in there. Anything with an extension of `.zsh` will get automatically -included into your shell. Anything with an extension of `.symlink` will get -symlinked without extension into `$HOME` when you run `script/bootstrap`. - -## what's inside - -A lot of stuff. Seriously, a lot of stuff. Check them out in the file browser -above and see what components may mesh up with you. -[Fork it](https://github.com/holman/dotfiles/fork), remove what you don't -use, and build on what you do use. - -## components - -There's a few special files in the hierarchy. - -- **bin/**: Anything in `bin/` will get added to your `$PATH` and be made -  available everywhere. -- **topic/\*.zsh**: Any files ending in `.zsh` get loaded into your -  environment. -- **topic/path.zsh**: Any file named `path.zsh` is loaded first and is -  expected to setup `$PATH` or similar. -- **topic/completion.zsh**: Any file named `completion.zsh` is loaded -  last and is expected to setup autocomplete. -- **topic/\*.symlink**: Any files ending in `*.symlink` get symlinked into -  your `$HOME`. This is so you can keep all of those versioned in your dotfiles -  but still keep those autoloaded files in your home directory. These get -  symlinked in when you run `script/bootstrap`. - -## bugs - -I want this to work for everyone; that means when you clone it down it should -work for you even though you may not have `rbenv` installed, for example. That -said, I do use this as *my* dotfiles, so there's a good chance I may break -something if I forget to make a check for a dependency. - -If you're brand-new to the project and run into any blockers, please -[open an issue](https://github.com/holman/dotfiles/issues) on this repository -and I'd love to get it fixed for you! - -## thanks - -I forked [Ryan Bates](http://github.com/ryanb)' excellent -[dotfiles](http://github.com/ryanb/dotfiles) for a couple years before the -weight of my changes and tweaks inspired me to finally roll my own. But Ryan's -dotfiles were an easy way to get into bash customization, and then to jump ship -to zsh a bit later. A decent amount of the code in these dotfiles stem or are -inspired from Ryan's original project. +| `<NAME>`  | Contents | Comments +---|---|--- +| `git`     | git | Edit `~/.gitconfig.local` yourself +| `haskell` | GHCi | You need to `cabal install` some things +| `i3`      | i3, i3bar +| `mutt`    | mutt | Still working on this +| `system`  | bash, X +| `vim`     | vim | Highly subjective diff --git a/git/gitconfig.symlink b/git/.gitconfig index cd10b26..cd10b26 100644 --- a/git/gitconfig.symlink +++ b/git/.gitconfig diff --git a/git/.gitconfig.local b/git/.gitconfig.local new file mode 100644 index 0000000..f061734 --- /dev/null +++ b/git/.gitconfig.local @@ -0,0 +1,5 @@ +[user] +	name = NAME +	email = EMAIL +[credential] +	helper = CREDENTIAL_HELPER diff --git a/git/gitconfig.local.example b/git/gitconfig.local.example deleted file mode 100644 index 8f3efc8..0000000 --- a/git/gitconfig.local.example +++ /dev/null @@ -1,6 +0,0 @@ -[user] -        name = NAME -        email = EMAIL -[credential] -        helper = CREDENTIAL_HELPER - diff --git a/haskell/ghci.symlink b/haskell/.ghci index e5bf06f..e5bf06f 100644 --- a/haskell/ghci.symlink +++ b/haskell/.ghci diff --git a/i3.symlink/config b/i3/.i3/config index bd184e6..bd184e6 100644 --- a/i3.symlink/config +++ b/i3/.i3/config diff --git a/system/i3status.conf.symlink b/i3/.i3status.conf index 67710fb..67710fb 100644 --- a/system/i3status.conf.symlink +++ b/i3/.i3status.conf diff --git a/mutt/muttrc.symlink b/mutt/.muttrc index 9ffef67..9ffef67 100644 --- a/mutt/muttrc.symlink +++ b/mutt/.muttrc diff --git a/script/bootstrap b/script/bootstrap deleted file mode 100755 index 1acfd22..0000000 --- a/script/bootstrap +++ /dev/null @@ -1,234 +0,0 @@ -#!/usr/bin/env bash -# -# bootstrap installs things. - -cd "$(dirname "$0")/.." -DOTFILES_ROOT=$(pwd -P) - -set -e - -echo '' - -info () { -  printf "\r  [ \033[00;34m..\033[0m ] $1\n" -} - -user () { -  printf "\r  [ \033[0;33m??\033[0m ] $1\n" -} - -success () { -  printf "\r\033[2K  [ \033[00;32mOK\033[0m ] $1\n" -} - -fail () { -  printf "\r\033[2K  [\033[0;31mFAIL\033[0m] $1\n" -  echo '' -  exit -} - -setup_gitconfig () { -  if ! [ -f git/gitconfig.symlink ] -  then -    info 'setup gitconfig' - -    git_credential='cache --timeout=3600' -    if [ "$(uname -s)" == "Darwin" ] -    then -      git_credential='osxkeychain' -    fi - -    user ' - What is your github author name?' -    read -e git_authorname -    user ' - What is your github author email?' -    read -e git_authoremail - -    sed -e "s/AUTHORNAME/$git_authorname/g" -e "s/AUTHOREMAIL/$git_authoremail/g" -e "s/GIT_CREDENTIAL_HELPER/$git_credential/g" git/gitconfig.symlink.example > git/gitconfig.symlink - -    success 'gitconfig' -  fi -} - - -link_directory () { -  local src=$1 dst=$2 - -  local overwrite= backup= skip= remove= -  local action= - -  if [ -f "$dst" -o -L "$dst" ] -  then - -    if [ "$overwrite_all" == "false" ] && [ "$backup_all" == "false" ] && [ "$skip_all" == "false" ] -    then -       -      user "Directory already exists: $dst ($(basename "$src")), what do you want to do?\n\ -      [s]kip, [r]emove, [b]ackup?" -      read -n 1 action - -      case "$action" in -        s ) -          skip=true;; -        r ) -          remove=true;; -        b ) -          backup=true;; -        * ) -          ;; -      esac - -    fi - -    skip=${skip:-$skip_all} -    backup=${backup:-$backup_all} - -    if [ "$remove" == "true" ] -    then -      rm -rf "$dst" -      success "removed $dst" -    fi - -    if [ "$backup" == "true" ] -    then -      mv "$dst" "${dst}.backup" -      success "moved $dst to ${dst}.backup" -    fi - -    if [ "$skip" == "true" ] -    then -      success "skipped $src" -    fi -  fi - -  if [ "$skip" != "true" ] -  then -    mkdir -p "$dst" - -    for f in "$src"/* -    do -      this_dst="$dst/$(basename "$f")" -      link "$f" "$this_dst" -    done -  fi -} - - -link_file () { -  local src=$1 dst=$2 - -  local overwrite= backup= skip= -  local action= - -  if [ -f "$dst" -o -d "$dst" -o -L "$dst" ] -  then - -    if [ "$overwrite_all" == "false" ] && [ "$backup_all" == "false" ] && [ "$skip_all" == "false" ] -    then - -      local currentSrc="$(readlink $dst)" - -      if [ "$currentSrc" == "$src" ] -      then - -        skip=true; - -      else - -        user "File already exists: $dst ($(basename "$src")), what do you want to do?\n\ -        [s]kip, [S]kip all, [o]verwrite, [O]verwrite all, [b]ackup, [B]ackup all?" -        read -n 1 action - -        case "$action" in -          o ) -            overwrite=true;; -          O ) -            overwrite_all=true;; -          b ) -            backup=true;; -          B ) -            backup_all=true;; -          s ) -            skip=true;; -          S ) -            skip_all=true;; -          * ) -            ;; -        esac - -      fi - -    fi - -    overwrite=${overwrite:-$overwrite_all} -    backup=${backup:-$backup_all} -    skip=${skip:-$skip_all} - -    if [ "$overwrite" == "true" ] -    then -      rm -rf "$dst" -      success "removed $dst" -    fi - -    if [ "$backup" == "true" ] -    then -      mv "$dst" "${dst}.backup" -      success "moved $dst to ${dst}.backup" -    fi - -    if [ "$skip" == "true" ] -    then -      success "skipped $src" -    fi -  fi - -  if [ "$skip" != "true" ]  # "false" or empty -  then -    ln -s "$1" "$2" -    success "linked $1 to $2" -  fi -} - - -link () { -  local src=$1 dst=$2 - -  if [ -f "$src" ] -  then -    link_file "$src" "$dst" -  elif [ -d "$src" ] -  then -    link_directory "$src" "$dst" -  fi -} - - -install_dotfiles () { -  info 'installing dotfiles' - -  local overwrite_all=false backup_all=false skip_all=false - -  for src in $(find -H "$DOTFILES_ROOT" -maxdepth 2 -name '*.symlink') -  do -    dst="$HOME/.$(basename "${src%.*}")" -    link "$src" "$dst" -  done -} - -setup_gitconfig -install_dotfiles -ln -s "$DOTFILES_ROOT/bin" "$HOME/bin" - -# If we're on a Mac, let's install and setup homebrew. -if [ "$(uname -s)" == "Darwin" ] -then -  info "installing dependencies" -  if source bin/dot > /tmp/dotfiles-dot 2>&1 -  then -    success "dependencies installed" -  else -    fail "error installing dependencies" -  fi -fi - -echo '' -echo '  All installed!' diff --git a/script/install b/script/install deleted file mode 100755 index 1887fc2..0000000 --- a/script/install +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -# -# Run all dotfiles installers. - -set -e - -cd "$(dirname $0)"/.. - -# find the installers and run them iteratively -find . -name install.sh | while read installer ; do sh -c "${installer}" ; done diff --git a/system/Xresources.symlink b/system/.Xresources index 801f715..801f715 100644 --- a/system/Xresources.symlink +++ b/system/.Xresources diff --git a/system/bash_aliases.symlink b/system/.bash_aliases index db48f37..db48f37 100644 --- a/system/bash_aliases.symlink +++ b/system/.bash_aliases diff --git a/system/bash_logout.symlink b/system/.bash_logout index de4f5f7..de4f5f7 100644 --- a/system/bash_logout.symlink +++ b/system/.bash_logout diff --git a/system/bashrc.symlink b/system/.bashrc index 6ec738e..6ec738e 100644 --- a/system/bashrc.symlink +++ b/system/.bashrc diff --git a/system/inputrc.symlink b/system/.inputrc index 6449edb..6449edb 100644 --- a/system/inputrc.symlink +++ b/system/.inputrc diff --git a/system/profile.symlink b/system/.profile index 5ef7aaa..5ef7aaa 100644 --- a/system/profile.symlink +++ b/system/.profile diff --git a/system/xinitrc.symlink b/system/.xinitrc index e0eddfc..e0eddfc 100644 --- a/system/xinitrc.symlink +++ b/system/.xinitrc diff --git a/system/xsessionrc.symlink b/system/.xsessionrc index 5b20582..5b20582 100644 --- a/system/xsessionrc.symlink +++ b/system/.xsessionrc diff --git a/vim/vim.symlink/after/ftplugin/bb.vim b/vim/.vim/after/ftplugin/bb.vim index 5b041ba..5b041ba 100644 --- a/vim/vim.symlink/after/ftplugin/bb.vim +++ b/vim/.vim/after/ftplugin/bb.vim diff --git a/vim/vim.symlink/after/ftplugin/c.vim b/vim/.vim/after/ftplugin/c.vim index 16ffc97..16ffc97 100644 --- a/vim/vim.symlink/after/ftplugin/c.vim +++ b/vim/.vim/after/ftplugin/c.vim diff --git a/vim/vim.symlink/after/ftplugin/clean.vim b/vim/.vim/after/ftplugin/clean.vim index 94f327e..94f327e 100644 --- a/vim/vim.symlink/after/ftplugin/clean.vim +++ b/vim/.vim/after/ftplugin/clean.vim diff --git a/vim/vim.symlink/after/ftplugin/html.vim b/vim/.vim/after/ftplugin/html.vim index 1b4c30f..1b4c30f 100644 --- a/vim/vim.symlink/after/ftplugin/html.vim +++ b/vim/.vim/after/ftplugin/html.vim diff --git a/vim/vim.symlink/after/ftplugin/jade.vim b/vim/.vim/after/ftplugin/jade.vim index 1b4c30f..1b4c30f 100644 --- a/vim/vim.symlink/after/ftplugin/jade.vim +++ b/vim/.vim/after/ftplugin/jade.vim diff --git a/vim/.vim/after/ftplugin/javascript.vim b/vim/.vim/after/ftplugin/javascript.vim new file mode 100644 index 0000000..1b4c30f --- /dev/null +++ b/vim/.vim/after/ftplugin/javascript.vim @@ -0,0 +1 @@ +setlocal tabstop=2 shiftwidth=2 diff --git a/vim/vim.symlink/after/ftplugin/markdown.vim b/vim/.vim/after/ftplugin/markdown.vim index b4b5304..b4b5304 100644 --- a/vim/vim.symlink/after/ftplugin/markdown.vim +++ b/vim/.vim/after/ftplugin/markdown.vim diff --git a/vim/vim.symlink/after/ftplugin/python.vim b/vim/.vim/after/ftplugin/python.vim index d52aa2e..d52aa2e 100644 --- a/vim/vim.symlink/after/ftplugin/python.vim +++ b/vim/.vim/after/ftplugin/python.vim diff --git a/vim/vim.symlink/after/ftplugin/scala.vim b/vim/.vim/after/ftplugin/scala.vim index dcca7bf..dcca7bf 100644 --- a/vim/vim.symlink/after/ftplugin/scala.vim +++ b/vim/.vim/after/ftplugin/scala.vim diff --git a/vim/vim.symlink/after/ftplugin/tex.vim b/vim/.vim/after/ftplugin/tex.vim index aabdc85..aabdc85 100644 --- a/vim/vim.symlink/after/ftplugin/tex.vim +++ b/vim/.vim/after/ftplugin/tex.vim diff --git a/vim/vim.symlink/plugin/visincrPlugin.vim b/vim/.vim/plugin/visincrPlugin.vim index 8907408..8907408 100644 --- a/vim/vim.symlink/plugin/visincrPlugin.vim +++ b/vim/.vim/plugin/visincrPlugin.vim diff --git a/vim/vim.symlink/bundle/Vundle.vim b/vim/vim.symlink/bundle/Vundle.vim deleted file mode 160000 -Subproject 4984767509e3d05ca051e253c8a8b37de784be4 | 
