Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
aburgel committed Apr 30, 2017
0 parents commit 59b5123
Show file tree
Hide file tree
Showing 17 changed files with 485 additions and 0 deletions.
17 changes: 17 additions & 0 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
tap 'homebrew/core'
tap 'homebrew/services'
tap 'homebrew/science'
tap 'thoughtbot/formulae'
brew 'rcm'
brew 'autojump'
brew 'hub'
brew 'r'
brew 'antigen'
brew 'rcm'

tap 'caskroom/cask'
cask_args appdir: '/Applications'
cask 'iterm2'
cask 'google-chrome'
cask '1password'
cask 'rstudio'
23 changes: 23 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
LICENSE

The MIT License

Copyright (c) 2017 Alex Burgel

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Empty file added README.md
Empty file.
11 changes: 11 additions & 0 deletions aliases
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Unix
alias ll="ls -al"
alias ln="ln -v"
alias mkdir="mkdir -p"
alias e="$EDITOR"
alias v="$VISUAL"
alias ..='cd ..'
alias ls='ls -G'

# Pretty print the path
alias path='echo $PATH | tr -s ":" "\n"'
38 changes: 38 additions & 0 deletions gitconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
[push]
default = simple
[color]
ui = auto
[alias]
aa = add --all
ap = add --patch
branches = for-each-ref --sort=-committerdate --format=\"%(color:blue)%(authordate:relative)\t%(color:red)%(authorname)\t%(color:white)%(color:bold)%(refname:short)\" refs/remotes
ci = commit -v
co = checkout
pf = push --force-with-lease
st = status
[core]
excludesfile = ~/.gitignore
autocrlf = input
[merge]
ff = only
[fetch]
prune = true
[rebase]
autosquash = true
[user]
name = Alex Burgel
email = [email protected]
[github]
user = aburgel
[credential]
helper = /opt/boxen/bin/boxen-git-credential
[difftool "sourcetree"]
cmd = /usr/local/bin/ksdiff -w \"$LOCAL\" \"$REMOTE\"
path =
[mergetool "sourcetree"]
cmd = /usr/local/bin/ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
trustExitCode = true
[hub]
protocol = https
[url "[email protected]:"]
insteadOf = "https://github.com/"
15 changes: 15 additions & 0 deletions gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.DS_Store
.DS_Store?
.Spotlight-V100
.Trashes
._*
Icon
Thumbs.db
ehthumbs.db
*.swp
*.swo
*.orig
*~
\#*\#
/tags
/.bundle/
11 changes: 11 additions & 0 deletions hooks/post-up
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

touch "$HOME"/.psqlrc.local

if [ ! -e "$HOME"/.vim/autoload/plug.vim ]; then
curl -fLo "$HOME"/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
fi
vim -u "$HOME"/.vimrc.bundles +PlugInstall +PlugClean! +qa

reset -Q
2 changes: 2 additions & 0 deletions rcrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
EXCLUDES="README.md LICENSE"
DOTFILES_DIRS="$HOME/src/dotfiles"
2 changes: 2 additions & 0 deletions rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--colour
--order random
20 changes: 20 additions & 0 deletions script/setup
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#! /bin/bash

set -e

chsh -s /bin/zsh

if [ ! type brew 2>/dev/null ]; then
echo 'Installing brew'
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi

brew tap thoughtbot/formulae
brew install rcm

env RCRC=$HOME/src/dotfiles/rcrc rcup

if [ -f "$HOME/.Brewfile" ]; then
brew update
brew bundle --global
fi
39 changes: 39 additions & 0 deletions tmux.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# improve colors
set -g default-terminal 'screen-256color'

# act like vim
setw -g mode-keys vi
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind-key -r C-h select-window -t :-
bind-key -r C-l select-window -t :+

set -g prefix2 C-s

# start window numbers at 1 to match keyboard order with tmux window order
set -g base-index 1
set-window-option -g pane-base-index 1

# renumber windows sequentially after closing any of them
set -g renumber-windows on

# soften status bar color from harsh green to light gray
set -g status-bg '#666666'
set -g status-fg '#aaaaaa'

# remove administrative debris (session name, hostname, time) in status bar
set -g status-left ''
set -g status-right ''

# increase scrollback lines
set -g history-limit 10000

# prefix -> back-one-character
bind-key C-b send-prefix
# prefix-2 -> forward-incremental-history-search
bind-key C-s send-prefix -2

# don't suspend-client
unbind-key C-z
151 changes: 151 additions & 0 deletions vimrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
" Leader
let mapleader = " "

set backspace=2 " Backspace deletes like most programs in insert mode
set nobackup
set nowritebackup
set noswapfile " http://robots.thoughtbot.com/post/18739402579/global-gitignore#comment-458413287
set history=50
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching
set laststatus=2 " Always display the status line
set autowrite " Automatically :write before running commands

" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if (&t_Co > 2 || has("gui_running")) && !exists("syntax_on")
syntax on
endif

if filereadable(expand("~/.vimrc.bundles"))
source ~/.vimrc.bundles
endif

" Load matchit.vim, but only if the user hasn't installed a newer version.
if !exists('g:loaded_matchit') && findfile('plugin/matchit.vim', &rtp) ==# ''
runtime! macros/matchit.vim
endif

filetype plugin indent on

augroup vimrcEx
autocmd!

" When editing a file, always jump to the last known cursor position.
" Don't do it for commit messages, when the position is invalid, or when
" inside an event handler (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif

" Set syntax highlighting for specific file types
autocmd BufRead,BufNewFile Appraisals set filetype=ruby
autocmd BufRead,BufNewFile *.md set filetype=markdown
autocmd BufRead,BufNewFile .{jscs,jshint,eslint}rc set filetype=json
augroup END

" When the type of shell script is /bin/sh, assume a POSIX-compatible
" shell for syntax highlighting purposes.
let g:is_posix = 1

" Softtabs, 2 spaces
set tabstop=2
set shiftwidth=2
set shiftround
set expandtab

" Display extra whitespace
set list listchars=tab:»·,trail:·,nbsp:·

" Use one space, not two, after punctuation.
set nojoinspaces

" Use The Silver Searcher https://github.com/ggreer/the_silver_searcher
if executable('ag')
" Use Ag over Grep
set grepprg=ag\ --nogroup\ --nocolor

" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
let g:ctrlp_user_command = 'ag -Q -l --nocolor --hidden -g "" %s'

" ag is fast enough that CtrlP doesn't need to cache
let g:ctrlp_use_caching = 0

if !exists(":Ag")
command -nargs=+ -complete=file -bar Ag silent! grep! <args>|cwindow|redraw!
nnoremap \ :Ag<SPACE>
endif
endif

" Make it obvious where 80 characters is
set textwidth=80
set colorcolumn=+1

" Numbers
set number
set numberwidth=5

" Tab completion
" will insert tab at beginning of line,
" will use completion if not at beginning
set wildmode=list:longest,list:full
function! InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
else
return "\<c-p>"
endif
endfunction
inoremap <Tab> <c-r>=InsertTabWrapper()<cr>
inoremap <S-Tab> <c-n>
" Switch between the last two files
nnoremap <leader><leader> <c-^>
" Get off my lawn
nnoremap <Left> :echoe "Use h"<CR>
nnoremap <Right> :echoe "Use l"<CR>
nnoremap <Up> :echoe "Use k"<CR>
nnoremap <Down> :echoe "Use j"<CR>
" vim-test mappings
nnoremap <silent> <Leader>t :TestFile<CR>
nnoremap <silent> <Leader>s :TestNearest<CR>
nnoremap <silent> <Leader>l :TestLast<CR>
nnoremap <silent> <Leader>a :TestSuite<CR>
nnoremap <silent> <leader>gt :TestVisit<CR>
" Run commands that require an interactive shell
nnoremap <Leader>r :RunInInteractiveShell<space>
" Treat <li> and <p> tags like the block tags they are
let g:html_indent_tags = 'li\|p'

" Open new split panes to right and bottom, which feels more natural
set splitbelow
set splitright

" Quicker window movement
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
" configure syntastic syntax checking to check on open as well as save
let g:syntastic_check_on_open=1
let g:syntastic_html_tidy_ignore_errors=[" proprietary attribute \"ng-"]
let g:syntastic_eruby_ruby_quiet_messages =
\ {"regex": "possibly useless use of a variable in void context"}

" Set spellfile to location that is guaranteed to exist, can be symlinked to
" Dropbox or kept in Git and managed outside of thoughtbot/dotfiles using rcm.
set spellfile=$HOME/.vim-spell-en.utf-8.add

" Autocomplete with dictionary words when spell check is on
set complete+=kspell

" Always use vertical diffs
set diffopt+=vertical
Loading

0 comments on commit 59b5123

Please sign in to comment.