-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.zshrc
105 lines (75 loc) · 2.09 KB
/
.zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
### Settings
# autocompletions
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=10"
# program settings
export EDITOR=vim
export VISUAL=vim
export BROWSER=qutebrowser
# path settings
export PATH=$PATH:$HOME/.local/bin:$HOME/.yarn/bin:$HOME/.rvm/bin:$HOME/.local/share/gem/ruby/3.0.0/bin:$HOME/.pyenv/bin:$HOME/.nvm/versions/node/v14.18.1/bin:$HOME/.luarocks/bin
# allow using the c-q key
stty -ixon
# fzf
export FZF_DEFAULT_OPTS="--history-size=10000"
# fix certain Java programs
export _JAVA_AWT_WM_NONREPARENTING=1
# Set up X server on Windows
# export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
# export LIBGL_ALWAYS_INDIRECT=true
### Commands
# soma fm channel
function somafm() {
mplayer "http://ice1.somafm.com/${1}-${2:-128}-mp3"
}
# drone radio
function dronezone() {
somafm dronezone
}
# hacker radio
function defconradio() {
somafm defcon
}
# shortcut for gulp
alias gulp='yarn gulp'
# packer is installed under a different name
alias packer='packer-io'
### Bindings
# vim keybindings
function zle-line-init zle-keymap-select {
NORMAL_MODE="%F{magenta}NORMAL%f%b"
INSERT_MODE="%F{blue}INSERT%f%b"
RPS1="${${KEYMAP/vicmd/$NORMAL_MODE}/(main|viins)/$INSERT_MODE}"
RPS2=$RPS1
# PROMPT='>'
zle reset-prompt
}
zle -N zle-line-init
zle -N zle-keymap-select
bindkey -v
### Third party
# Enable completion
autoload -U +X bashcompinit && bashcompinit
# add AWS completion
if [[ -f /usr/bin/aws_zsh_completer.sh ]]; then
source /usr/bin/aws_zsh_completer.sh
fi
# add gcloud completion
if [ -f /opt/google-cloud-sdk/completion.zsh.inc ]; then
source /opt/google-cloud-sdk/completion.zsh.inc
fi
# start ruby version manager
if [ -f "$HOME/.rvm/scripts/rvm" ]; then
source "$HOME/.rvm/scripts/rvm"
fi
# start node version manager
if [ -f "/usr/share/nvm/nvm.sh" ]; then
export NVM_DIR="$HOME/.nvm"
source "/usr/share/nvm/nvm.sh"
fi
# start pyenv
if [ -d "$HOME/.pyenv" ]; then
eval "$(pyenv init -)"
fi
# terraform autocompletion
complete -o nospace -C /usr/bin/terraform terraform