···11+# Source global definitions
22+if [ -f /etc/bashrc ]; then
33+ . /etc/bashrc
44+fi
55+16os_name="$(uname)"
27if [[ $os_name == "Darwin" ]]; then
38 MAC_OS=true
49else
510 MAC_OS=false
611fi
1212+1313+umask 0002
714815# alias various commands
916if [ -r $HOME/.bashrc.aliases ]; then
···8491export NVM_DIR="$HOME/.nvm"
8592[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh" # This loads nvm
8693[ -s "$NVM_DIR/bash_completion" ] && source "$NVM_DIR/bash_completion" # This loads nvm bash_completion
9494+#
9595+if [ -f $HOME/bin/git-completion.bash ]; then
9696+ source $HOME/bin/git-completion.bash
9797+fi
9898+#
9999+if [ -f $HOME/bin/git-prompt.sh ]; then
100100+ source $HOME/bin/git-prompt.sh
101101+ PS1=${DOCKER_NAME:+(${DOCKER_NAME})}'[\u@\h \W$(__git_ps1 " (%s)")]\$ '
102102+fi
+9-4
.bashrc.aliases
···133133 else
134134 if [[ $# -eq 1 && $@ != *@* ]]; then
135135 command ssh -t "$@" \
136136- "if [ -d \"$(pwd)\" ]; then
137137- cd \"$(pwd)\"
138138- fi
139139- bash -l"
136136+ "bash -c \
137137+ 'if [ -d \"$(pwd)\" ]; then
138138+ cd \"$(pwd)\"
139139+ fi
140140+ exec \$SHELL -l'"
140141 else
141142 command ssh "$@"
142143 fi
143144 fi
144145}
146146+147147+function bazel() {
148148+ command bazelisk "$@"
149149+}
+1-8
.bazelrc
···11-# set up environment variables for pyenv to work properly
22-build --action_env=PATH
33-build --distinct_host_configuration=false
44-build --action_env=PYENV_VERSION=3.6.5:2.7.15
55-61# remote caching in the lab
72# build --remote_http_cache=http://172.20.6.206:9090
83# build --remote_timeout=5
941010-# and make sure tests run with proper pyenv versions as well
1111-test --test_env=PYENV_VERSION=3.6.5:2.7.15
1212-# test --test_arg=-vvv
55+clean --async
+13-14
.config/fish/config.fish
···11-command -q thefuck
22- and thefuck --alias f | source
11+if not set -q DOCKER_NAME; and test -f /etc/profile.d/docker_name.sh
22+ set -gx DOCKER_NAME (sed -E 's/.*DOCKER_NAME=(.+)/\1/' /etc/profile.d/docker_name.sh)
33+end
3444-status --is-interactive
55- and command -q pyenv
66- and pyenv init - | source
77-status --is-interactive
88- and command -q pyenv-virtualenv
99- and pyenv-virtualenv-init - | source
55+if status is-interactive; and status is-login
66+ command -sq thefuck; and source (thefuck --alias | psub)
1071111-# Set here instead of in fish_variables to expand $HOME per-machine
1212-set -U fish_user_paths
88+ if command -qs pyenv
99+ source (pyenv init - | psub)
1010+ source (pyenv virtualenv-init - | psub)
1111+ end
1212+end
13131414-command -q npm
1515- and set -Ua fish_user_paths (npm bin)
1616-1717-set -Ua fish_user_paths ~/.cargo/bin ~/.pyenv/shims /usr/local/Cellar/pyenv-virtualenv/*/shims
1414+# Used to ensure Docker cache hits on dev VM
1515+umask 0002
18161717+source ~/.config/fish/iterm2_shell_integration.fish
···11-# Defined in /Users/ichamberlain/.config/fish/functions/fish_prompt.fish @ line 2
11+# Defined in /var/folders/4w/bjgmcfds1nv33zqkhf2q2_340000gp/T//fish.jInzkm/fish_prompt.fish @ line 2
22function fish_prompt --description 'Write out the prompt'
33 set -l last_status $status
44···44444545 set first_line (
4646 echo -n -s "$__fish_prompt_docker" "$__fish_prompt_pyenv" \
4747- '[' "$USER" '@' (prompt_hostname) ']' \
4747+ '[' "$USER" '@' (hostname -s) ']' \
4848 ' ' "$__fish_prompt_cwd" (prompt_pwd)
4949 )
5050
+10-5
.config/fish/functions/fisher.fish
···11-set -g fisher_version 3.2.9
11+set -g fisher_version 3.2.10
2233function fisher -a cmd -d "fish package manager"
44 set -q XDG_CACHE_HOME; or set XDG_CACHE_HOME ~/.cache
···99 set -g fisher_config $XDG_CONFIG_HOME/fisher
10101111 set -q fisher_path; or set -g fisher_path $fish_config
1212+ set -g fishfile $fish_config/fishfile
12131314 for path in {$fish_config,$fisher_path}/{functions,completions,conf.d} $fisher_cache
1415 if test ! -d $path
···3738 end
3839 end
39404141+ # 2019-10-22: temp code, migrates fishfile from old path back to $fish_config
4242+ if test -e "$fisher_path/fishfile"; and test ! -e "$fishfile"
4343+ command mv -f "$fisher_path/fishfile" "$fishfile"
4444+ end
4545+4046 switch "$cmd"
4147 case {,self-}complete
4248 _fisher_complete
···4450 _fisher_copy_user_key_bindings
4551 case ls
4652 set -e argv[1]
4747- if test -s "$fisher_path/fishfile"
4848- set -l file (_fisher_fmt <$fisher_path/fishfile | _fisher_parse -R | command sed "s|@.*||")
5353+ if test -s "$fishfile"
5454+ set -l file (_fisher_fmt <$fishfile | _fisher_parse -R | command sed "s|@.*||")
4955 _fisher_ls | _fisher_fmt | command awk -v FILE="$file" "
5056 BEGIN { for (n = split(FILE, f); ++i <= n;) file[f[i]] } \$0 in file && /$argv[1]/
5157 " | command sed "s|^$HOME|~|"
···165171 _fisher_rm $pkg
166172 end
167173168168- for file in $fisher_cache $fisher_config $fisher_path/{functions,completions,conf.d}/fisher.fish $fisher_path/fishfile
174174+ for file in $fisher_cache $fisher_config $fisher_path/{functions,completions,conf.d}/fisher.fish $fishfile
169175 echo "removing $file"
170176 command rm -Rf $file 2>/dev/null
171177 end | command sed "s|$HOME|~|" >&2
···181187function _fisher_commit -a cmd
182188 set -e argv[1]
183189 set -l elapsed (_fisher_now)
184184- set -l fishfile $fisher_path/fishfile
185190186191 if test ! -e "$fishfile"
187192 command touch $fishfile
+8-3
.config/fish/functions/ls.fish
···11-# Defined in /var/folders/m7/71tzq4yx5k91dcjhnhj57_880000gn/T//fish.xA4yA5/ls.fish @ line 2
22-function ls --description 'List contents of directory'
33- command ls -G -la $argv
11+# Defined in /Users/ichamberlain/.config/fish/functions/ls.fish @ line 2
22+function ls --description 'List contents of directory, including hidden files in directory using long format'
33+ if test (uname) = "Darwin"
44+ set ls_args "-G"
55+ else
66+ set ls_args "--color=auto"
77+ end
88+ command ls -Flah $ls_args $argv
49end
+1-1
.config/fish/functions/py.fish
···11-# Defined in - @ line 1
11+# Defined in /Users/ichamberlain/.config/fish/functions/py.fish @ line 2
22function py --description 'alias py=bpython'
33 bpython $argv;
44end
+3-1
.config/yadm/bootstrap
···5353}
54545555function main() {
5656+ yadm submodule update --init
5757+5658 if [[ "$OS_NAME" == "Darwin" ]]; then
5759 setup_macos
5860 elif [[ "$OS_NAME" == "Linux" ]]; then
···6062 fi
6163}
62646363-main6565+main
···11-# -*- mode: gitignore; -*-
22-33-# Common definitions
41*~
55-\#*\#
66-*.swp
77-*.elc
88-.\#*
92.DS_Store
103GPATH
114GRTAGS
125GTAGS
1313-146.python-version
1515-1616-.vscode
77+.vscode/**/*
178.classpath
189*.egg-info
1919-**/bazel-*
1010+/bazel-*
2011/private/var/tmp/**/*
2121-2222-# General
2323-.DS_Store
2424-.AppleDouble
2525-.LSOverride
2626-2727-# Icon must end with two \r
2828-Icon
2929-3030-3131-# Thumbnails
3232-._*
3333-3434-# Files that might appear in the root of a volume
3535-.DocumentRevisions-V100
3636-.fseventsd
3737-.Spotlight-V100
3838-.TemporaryItems
3939-.Trashes
4040-.VolumeIcon.icns
4141-.com.apple.timemachine.donotpresent
4242-4343-# Directories potentially created on remote AFP share
4444-.AppleDB
4545-.AppleDesktop
4646-Network Trash Folder
4747-Temporary Items
4848-.apdisk
1212+.mypy_cache/**/*
4913
+5
.tmux.conf
···11+setw -g mode-keys vi
22+set -g mouse on
33+set -g default-terminal "xterm-256color"
44+set -g default-shell $SHELL
55+
+53-32
.vimrc
···11set tabstop=4
22set shiftwidth=4
33set softtabstop=4
44-54set expandtab
65set autoindent
77-set smartindent
66+filetype indent on
77+set number
88set backspace=indent,eol,start
991010+syntax on
1111+set wrapmargin=0
1212+set ruler
1313+highlight ColorColumn ctermbg=7
1414+set colorcolumn=80
1015set whichwrap=<,>,[,],b
1111-set wrapmargin=0
12161313-filetype indent on
1717+colorscheme monokai
14181515-syntax on
1919+if has('macunix')
2020+ set termguicolors
2121+ set mouse=a
2222+endif
2323+2424+if &diff
2525+ set diffopt+=iwhite
2626+endif
2727+2828+syn match myTodo contained "\<\(TODO\|FIXME\):"
2929+hi def link myTodo Todo
16301717-if exists('g:vscode')
1818- " vscode-neovim specific settings
1919- xnoremap <silent> <Esc> :<C-u>call VSCodeNotify('closeFindWidget')<CR>
2020- nnoremap <silent> <Esc> :<C-u>call VSCodeNotify('closeFindWidget')<CR>
3131+" parse .cnf files as ini
3232+au BufNewFile,BufRead *.cnf set filetype=dosini
21332222- xmap gc <Plug>VSCodeCommentary
2323- nmap gc <Plug>VSCodeCommentary
2424- omap gc <Plug>VSCodeCommentary
2525- nmap gcc <Plug>VSCodeCommentaryLine
3434+" parse .repo files as ini
3535+au BufNewFile,BufRead *.repo set filetype=dosini
26362727- xmap <C-/> <Plug>VSCodeCommentarygv
2828- nmap <C-/> <Plug>VSCodeCommentaryLine
2929-else
3030- " ordinary vim/neovim settings that don't apply in VSCode
3131- set mouse=a
3737+" parse .init files as json
3838+au BufNewFile,BufRead *.init set filetype=javascript
32393333- highlight ColorColumn ctermbg=7
3434- set colorcolumn=80
3535- set ruler
36403737- set number
38413939- let os = substitute(system('uname'), "\n", "", "")
4040- if os == "Darwin"
4141- set termguicolors
4242- endif
4242+" Code from:
4343+" http://stackoverflow.com/questions/5585129/pasting-code-into-terminal-window-into-vim-on-mac-os-x
4444+" then https://coderwall.com/p/if9mda
4545+" and then https://github.com/aaronjensen/vimfiles/blob/59a7019b1f2d08c70c28a41ef4e2612470ea0549/plugin/terminaltweaks.vim
4646+" to fix the escape time problem with insert mode.
4747+"
4848+" Docs on bracketed paste mode:
4949+" http://www.xfree86.org/current/ctlseqs.html
5050+" Docs on mapping fast escape codes in vim
5151+" http://vim.wikia.com/wiki/Mapping_fast_keycodes_in_terminal_Vim
43524444- colorscheme Monokai
5353+if exists("g:loaded_bracketed_paste")
5454+ finish
4555endif
5656+let g:loaded_bracketed_paste = 1
46575858+let &t_ti .= "\<Esc>[?2004h"
5959+let &t_te = "\e[?2004l" . &t_te
47604848-augroup CustomTodo
4949- autocmd!
5050- autocmd Syntax * syntax match CustomTodo /\v<(TODO|FIXME|NOTE)/ containedin=.*Comment
5151-augroup END
5252-highlight link CustomTodo Todo6161+function! XTermPasteBegin(ret)
6262+ set pastetoggle=<f29>
6363+ set paste
6464+ return a:ret
6565+endfunction
6666+6767+execute "set <f28>=\<Esc>[200~"
6868+execute "set <f29>=\<Esc>[201~"
6969+map <expr> <f28> XTermPasteBegin("i")
7070+imap <expr> <f28> XTermPasteBegin("")
7171+vmap <expr> <f28> XTermPasteBegin("c")
7272+cmap <f28> <nop>
7373+cmap <f29> <nop>
-9
Documents/dotfiles/to-convert.txt
···202021212222TODO:
2323- .vscode/
2424- instead of tracking extensions in this dir, probably make a
2525- bootstrapping command based on `code --list-extensions`
2626- and `code --install-extension`. Ideally would watch for changes to
2727- `~/.vscode/extensions` or at least run as a pre-commit hook.
2828-2923 pre-commit hooks? possibly
3030-3131- bootstrap script. Definitely want this, maybe with brewfile or similar
3232- Strive for idempotency.
33243425 Iterm configuration (profiles, plist? any other)
3526