diff options
author | Camil Staps | 2017-01-11 19:16:39 +0100 |
---|---|---|
committer | Camil Staps | 2017-01-11 19:16:39 +0100 |
commit | bb16f1b86c32d13df7be7245a871c4f191b7e5d4 (patch) | |
tree | ce42e2f3db5b0badbe5bd822de532a78c25f2622 | |
parent | cleanup (diff) |
Stowify repo
-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 |