Initial commit
This commit is contained in:
commit
f3123a736d
|
@ -0,0 +1,8 @@
|
|||
## .dotfiles
|
||||
|
||||
Installation:
|
||||
|
||||
```bash
|
||||
git clone git@github.com:magnolia-fan/dotfiles.git ~/.dotfiles
|
||||
~/.dotfiles/setup.sh
|
||||
```
|
|
@ -0,0 +1,29 @@
|
|||
[hub]
|
||||
protocol = https
|
||||
[user]
|
||||
name = Gregory Eremin
|
||||
email = magnolia_fan@me.com
|
||||
[credential]
|
||||
helper = osxkeychain
|
||||
[alias]
|
||||
co = checkout
|
||||
br = checkout -b
|
||||
st = status -sb
|
||||
ci = commit -m
|
||||
ca = commit -am
|
||||
[color]
|
||||
diff = auto
|
||||
status = auto
|
||||
branch = auto
|
||||
ui = true
|
||||
[core]
|
||||
excludesfile = ~/.gitignore
|
||||
editor = subl -n -w
|
||||
[apply]
|
||||
whitespace = nowarn
|
||||
[mergetool]
|
||||
keepBackup = false
|
||||
[difftool]
|
||||
prompt = false
|
||||
[help]
|
||||
autocorrect = 1
|
|
@ -0,0 +1,3 @@
|
|||
.DS_Store
|
||||
.bundle
|
||||
.rake_tasks
|
|
@ -0,0 +1,4 @@
|
|||
AwesomePrint.defaults = {
|
||||
indent: -2,
|
||||
index: false
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
gem: --no-ri --no-rdoc
|
|
@ -0,0 +1,3 @@
|
|||
export RUBYOPT="-Ku"
|
||||
export RUBY_GC_MALLOC_LIMIT=60000000
|
||||
export RUBY_FREE_MIN=200000
|
|
@ -0,0 +1 @@
|
|||
eval "$(rbenv init -)"
|
|
@ -0,0 +1,5 @@
|
|||
# if $(brew &>/dev/null)
|
||||
# then
|
||||
# brew install rbenv
|
||||
# brew install ruby-build
|
||||
# fi
|
|
@ -0,0 +1,14 @@
|
|||
cd ~
|
||||
|
||||
# Git
|
||||
ln -s ~/.dotfiles/git/.gitconfig
|
||||
ln -s ~/.dotfiles/git/.gitignore
|
||||
|
||||
# ZSH
|
||||
ln -s ~/.dotfiles/zsh/.zshrc
|
||||
|
||||
# Ruby
|
||||
ln -s ~/.dotfiles/ruby/.gemrc
|
||||
ln -s ~/.dotfiles/ruby/.aprc
|
||||
|
||||
cd -
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"color_scheme": "Packages/Tomorrow Color Schemes/Tomorrow-Night.tmTheme",
|
||||
"default_line_ending": "unix",
|
||||
"drag_text": false,
|
||||
"ensure_newline_at_eof_on_save": true,
|
||||
"fallback_encoding": "Cyrillic (Windows 1251)",
|
||||
"font_face": "Inconsolata",
|
||||
"font_size": 16.0,
|
||||
"highlight_line": true,
|
||||
"ignored_packages": ["Vintage"],
|
||||
"line_padding_bottom": 1,
|
||||
"line_padding_top": 3,
|
||||
"rulers": [120],
|
||||
"tab_size": 2,
|
||||
"theme": "Soda Dark.sublime-theme",
|
||||
"translate_tabs_to_spaces": true,
|
||||
"tree_animation_enabled": false,
|
||||
"trim_trailing_white_space_on_save": true
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"color_scheme": "Packages/Tomorrow Color Schemes/Tomorrow.tmTheme",
|
||||
"default_line_ending": "unix",
|
||||
"drag_text": false,
|
||||
"ensure_newline_at_eof_on_save": true,
|
||||
"fallback_encoding": "Cyrillic (Windows 1251)",
|
||||
"font_face": "Inconsolata",
|
||||
"font_size": 16.0,
|
||||
"highlight_line": true,
|
||||
"ignored_packages": ["Vintage"],
|
||||
"line_padding_bottom": 1,
|
||||
"line_padding_top": 3,
|
||||
"rulers": [120],
|
||||
"tab_size": 2,
|
||||
"theme": "Soda Light.sublime-theme",
|
||||
"translate_tabs_to_spaces": true,
|
||||
"tree_animation_enabled": false,
|
||||
"trim_trailing_white_space_on_save": true
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
# shortcut to this dotfiles path is $ZSH
|
||||
export ZSH=$HOME/.dotfiles
|
||||
|
||||
# your project folder that we can `c [tab]` to
|
||||
export PROJECTS=~/Code
|
||||
|
||||
# source every .zsh file in this rep
|
||||
for config_file ($ZSH/**/*.zsh) source $config_file
|
||||
|
||||
# use .localrc for SUPER SECRET CRAP that you don't
|
||||
# want in your public, versioned repo.
|
||||
if [[ -a ~/.localrc ]]
|
||||
then
|
||||
source ~/.localrc
|
||||
fi
|
||||
|
||||
# initialize autocomplete here, otherwise functions won't be loaded
|
||||
autoload -U compinit
|
||||
compinit
|
||||
|
||||
# load every completion after autocomplete loads
|
||||
# for config_file ($ZSH/**/completion.sh) source $config_file
|
|
@ -0,0 +1,13 @@
|
|||
alias reload!='. ~/.zshrc'
|
||||
alias b='bundle exec'
|
||||
alias please='sudo'
|
||||
|
||||
# Services start-ups and shut-downs
|
||||
|
||||
alias mysql-start="mysql.server start"
|
||||
alias mysql-stop="mysql.server stop"
|
||||
alias mysql-restart="mysql.server restart"
|
||||
|
||||
alias redis-start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist"
|
||||
alias redis-stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist"
|
||||
alias redis-restart="redis-stop && redis-start"
|
|
@ -0,0 +1,5 @@
|
|||
# matches case insensitive for lowercase
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||
|
||||
# pasting with tabs doesn't perform completion
|
||||
zstyle ':completion:*' insert-tab pending
|
|
@ -0,0 +1,48 @@
|
|||
if [[ -n $SSH_CONNECTION ]]; then
|
||||
export PS1='%m:%3~$(git_info_for_prompt)%# '
|
||||
else
|
||||
export PS1='%3~$(git_info_for_prompt)%# '
|
||||
fi
|
||||
|
||||
export LSCOLORS="exfxcxdxbxegedabagacad"
|
||||
export CLICOLOR=true
|
||||
|
||||
fpath=($ZSH/zsh/functions $fpath)
|
||||
|
||||
autoload -U $ZSH/zsh/functions/*(:t)
|
||||
|
||||
HISTFILE=~/.zsh_history
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
|
||||
setopt NO_BG_NICE # don't nice background tasks
|
||||
setopt NO_HUP
|
||||
setopt NO_LIST_BEEP
|
||||
setopt LOCAL_OPTIONS # allow functions to have local options
|
||||
setopt LOCAL_TRAPS # allow functions to have local traps
|
||||
setopt HIST_VERIFY
|
||||
setopt SHARE_HISTORY # share history between sessions ???
|
||||
setopt EXTENDED_HISTORY # add timestamps to history
|
||||
setopt PROMPT_SUBST
|
||||
setopt CORRECT
|
||||
setopt COMPLETE_IN_WORD
|
||||
setopt IGNORE_EOF
|
||||
|
||||
setopt APPEND_HISTORY # adds history
|
||||
setopt INC_APPEND_HISTORY SHARE_HISTORY # adds history incrementally and share it across sessions
|
||||
setopt HIST_IGNORE_ALL_DUPS # don't record dupes in history
|
||||
setopt HIST_REDUCE_BLANKS
|
||||
|
||||
# don't expand aliases _before_ completion has finished
|
||||
# like: git comm-[tab]
|
||||
setopt complete_aliases
|
||||
|
||||
zle -N newtab
|
||||
|
||||
bindkey '^[^[[D' backward-word
|
||||
bindkey '^[^[[C' forward-word
|
||||
bindkey '^[[5D' beginning-of-line
|
||||
bindkey '^[[5C' end-of-line
|
||||
bindkey '^[[3~' delete-char
|
||||
bindkey '^[^N' newtab
|
||||
bindkey '^?' backward-delete-char
|
|
@ -0,0 +1,66 @@
|
|||
#compdef brew
|
||||
|
||||
# Brew ZSH completion function
|
||||
# Drop this somewhere in your $fpath (like /usr/share/zsh/site-functions)
|
||||
# and rename it _brew
|
||||
#
|
||||
# altered from _fink
|
||||
|
||||
_brew_all_formulae() {
|
||||
formulae=(`brew search`)
|
||||
}
|
||||
|
||||
_brew_installed_formulae() {
|
||||
installed_formulae=(`brew list`)
|
||||
}
|
||||
|
||||
local -a _1st_arguments
|
||||
_1st_arguments=(
|
||||
'install:install a formula'
|
||||
'remove:remove a formula'
|
||||
'search:search for a formula (/regex/ or string)'
|
||||
'list:list files in a formula or not-installed formulae'
|
||||
'link:link a formula'
|
||||
'unlink:unlink a formula'
|
||||
'home:visit the homepage of a formula or the brew project'
|
||||
'info:information about a formula'
|
||||
'prune:remove dead links'
|
||||
'update:freshen up links'
|
||||
'upgrade:upgrade outdated packages'
|
||||
'log:git commit log for a formula'
|
||||
'create:create a new formula'
|
||||
'edit:edit a formula'
|
||||
)
|
||||
|
||||
local expl
|
||||
local -a formula installed_formulae
|
||||
|
||||
_arguments \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'(--version)--version[version information]' \
|
||||
'(--prefix)--prefix[where brew lives on this system]' \
|
||||
'(--cache)--cache[brew cache]' \
|
||||
'*:: :->subcmds' && return 0
|
||||
|
||||
if (( CURRENT == 1 )); then
|
||||
_describe -t commands "brew subcommand" _1st_arguments
|
||||
return
|
||||
fi
|
||||
|
||||
case "$words[1]" in
|
||||
list)
|
||||
_arguments \
|
||||
'(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \
|
||||
'1: :->forms' && return 0
|
||||
|
||||
if [[ "$state" == forms ]]; then
|
||||
_brew_installed_formulae
|
||||
_requested installed_formulae expl 'installed formulae' compadd -a installed_formulae
|
||||
fi ;;
|
||||
install|home|log|info)
|
||||
_brew_all_formulae
|
||||
_wanted formulae expl 'all formulae' compadd -a formulae ;;
|
||||
remove|edit|xo)
|
||||
_brew_installed_formulae
|
||||
_wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;;
|
||||
esac
|
|
@ -0,0 +1,2 @@
|
|||
#compdef c
|
||||
_files -W $PROJECTS -/
|
|
@ -0,0 +1,2 @@
|
|||
#compdef h
|
||||
_files -W ~ -/
|
|
@ -0,0 +1,8 @@
|
|||
#compdef rake
|
||||
if [ -f Rakefile ]; then
|
||||
recent=`last_modified .rake_tasks~ Rakefile **/*.rake`
|
||||
if [[ $recent != '.rake_tasks~' ]]; then
|
||||
rake --silent --tasks | cut -d " " -f 2 > .rake_tasks~
|
||||
fi
|
||||
compadd `cat .rake_tasks~`
|
||||
fi
|
|
@ -0,0 +1 @@
|
|||
cd $PROJECTS/$1;
|
|
@ -0,0 +1,27 @@
|
|||
# credit: http://nparikh.org/notes/zshrc.txt
|
||||
# Usage: smartextract <file>
|
||||
# Description: extracts archived files / mounts disk images
|
||||
# Note: .dmg/hdiutil is Mac OS X-specific.
|
||||
extract () {
|
||||
if [ -f $1 ]; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar -jxvf $1 ;;
|
||||
*.tar.gz) tar -zxvf $1 ;;
|
||||
*.bz2) bunzip2 $1 ;;
|
||||
*.dmg) hdiutil mount $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar -xvf $1 ;;
|
||||
*.tbz2) tar -jxvf $1 ;;
|
||||
*.tgz) tar -zxvf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.ZIP) unzip $1 ;;
|
||||
*.pax) cat $1 | pax -r ;;
|
||||
*.pax.Z) uncompress $1 --stdout | pax -r ;;
|
||||
*.Z) uncompress $1 ;;
|
||||
*) echo "'$1' cannot be extracted/mounted via smartextract()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
cd ~/$1;
|
|
@ -0,0 +1 @@
|
|||
ls -t $* 2> /dev/null | head -n 1
|
|
@ -0,0 +1,12 @@
|
|||
local sublime_conf_location=~/Library/Application\ Support/Sublime\ Text\ 2/Packages/User/Preferences.sublime-settings
|
||||
local theme="$1"
|
||||
|
||||
case $theme in
|
||||
light|dark)
|
||||
local sublime_conf_file="$ZSH/sublime/config-$theme" ;;
|
||||
*)
|
||||
local sublime_conf_file="$ZSH/sublime/config-dark" ;;
|
||||
esac
|
||||
|
||||
rm $sublime_conf_location
|
||||
cp $sublime_conf_file $sublime_conf_location
|
|
@ -0,0 +1,5 @@
|
|||
zstyle ':completion:*' verbose yes
|
||||
zstyle ':completion:*:descriptions' format '%B%d%b'
|
||||
zstyle ':completion:*:messages' format '%d'
|
||||
zstyle ':completion:*:warnings' format 'No matches for: %d'
|
||||
zstyle ':completion:*' group-name ''
|
|
@ -0,0 +1 @@
|
|||
export PATH=~/.ssh_tunneler/bin:$PATH
|
|
@ -0,0 +1,68 @@
|
|||
autoload colors && colors
|
||||
# cheers, @ehrenmurdick
|
||||
# http://github.com/ehrenmurdick/config/blob/master/zsh/prompt.zsh
|
||||
|
||||
git_branch() {
|
||||
echo $(/usr/bin/git symbolic-ref HEAD 2>/dev/null | awk -F/ {'print $NF'})
|
||||
}
|
||||
|
||||
git_dirty() {
|
||||
st=$(/usr/bin/git status 2>/dev/null | tail -n 1)
|
||||
if [[ $st == "" ]]
|
||||
then
|
||||
echo ""
|
||||
else
|
||||
if [[ $st == "nothing to commit (working directory clean)" ]]
|
||||
then
|
||||
echo " %{$fg_bold[green]%}($(git_prompt_info))%{$reset_color%}"
|
||||
else
|
||||
echo " %{$fg_bold[red]%}($(git_prompt_info))%{$reset_color%}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
git_prompt_info () {
|
||||
ref=$(/usr/bin/git symbolic-ref HEAD 2>/dev/null) || return
|
||||
# echo "(%{\e[0;33m%}${ref#refs/heads/}%{\e[0m%})"
|
||||
echo "${ref#refs/heads/}"
|
||||
}
|
||||
|
||||
unpushed () {
|
||||
/usr/bin/git cherry -v @{upstream} 2>/dev/null
|
||||
}
|
||||
|
||||
need_push () {
|
||||
if [[ $(unpushed) == "" ]]
|
||||
then
|
||||
echo ""
|
||||
else
|
||||
echo " %{$fg_bold[magenta]%}➠%{$reset_color%}"
|
||||
fi
|
||||
}
|
||||
|
||||
rb_prompt(){
|
||||
if $(which rbenv &> /dev/null)
|
||||
then
|
||||
echo "%{$fg_bold[cyan]%}$(rbenv version | awk '{print $1}')%{$reset_color%}"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
current_time(){
|
||||
echo 'date +"%d.%m.%Y %H:%M:%S"'
|
||||
}
|
||||
|
||||
directory_name(){
|
||||
echo "%{$fg_bold[blue]%}%1/%\%{$reset_color%}"
|
||||
}
|
||||
|
||||
export PROMPT=$'\n$(directory_name)$(git_dirty)$(need_push) › '
|
||||
set_prompt () {
|
||||
export RPROMPT="$(rb_prompt)"
|
||||
}
|
||||
|
||||
precmd() {
|
||||
title "zsh" "%m" "%55<...<%~"
|
||||
set_prompt
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
# SSH Agent
|
||||
result=$(ssh-add -L 2>/dev/null | tail -n 1)
|
||||
if [[ $result == "The agent has no identities." ]]
|
||||
then
|
||||
ssh-add ~/.ssh/id_rsa 2>/dev/null
|
||||
fi
|
|
@ -0,0 +1,18 @@
|
|||
# From http://dotfiles.org/~_why/.zshrc
|
||||
# Sets the window title nicely no matter where you are
|
||||
function title() {
|
||||
# escape '%' chars in $1, make nonprintables visible
|
||||
a=${(V)1//\%/\%\%}
|
||||
|
||||
# Truncate command, and join lines.
|
||||
a=$(print -Pn "%40>...>$a" | tr -d "\n")
|
||||
|
||||
case $TERM in
|
||||
screen)
|
||||
print -Pn "\ek$a:$3\e\\" # screen title (in ^A")
|
||||
;;
|
||||
xterm*|rxvt)
|
||||
print -Pn "\e]2;$2\a" # plain xterm title ($3 for pwd)
|
||||
;;
|
||||
esac
|
||||
}
|
Loading…
Reference in New Issue