-
Notifications
You must be signed in to change notification settings - Fork 0
/
.zshrc
130 lines (115 loc) · 3.99 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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
#!/bin/zsh
# Profile -------------------------------------------------------------
[ -f ~/.profile ] && source ~/.profile
# Environemnt variables -----------------------------------------------
export PATH=~/.local/bin:/usr/local/go/bin:$PATH
export ZPLUG_HOME=~/.zplug
export EDITOR=/usr/bin/nvim
export BROWSER=/usr/bin/firefox
export ANDROID_HOME=/home/klemen/programs/Android/
export QT_QPA_PLATFORMTHEME=qt5ct
export NNN_PLUG='m:nmount;a:mtpmount'
export SAL_USE_VCLPLUGIN=qt5
export SAL_VCL_QT5_USE_CAIRO=1
# Enable Vim mode in ZSH
bindkey -v
zle -N edit-command-line
# ZPlug ----------------------------------------------------------------
## Install zplug in needed
if [[ ! -d $ZPLUG_HOME ]]; then
git clone https://github.com/zplug/zplug $ZPLUG_HOME
fi
## Load zplug
source $ZPLUG_HOME/init.zsh
## zplug plugins
zplug "plugins/git", from:oh-my-zsh
zplug "plugins/colored-man-pages", from:oh-my-zsh
zplug zsh-users/zsh-completions
zplug zsh-users/zsh-syntax-highlighting
zplug zpm-zsh/ls
zplug zpm-zsh/colors
zplug zpm-zsh/ssh
zplug zpm-zsh/dot
zplug zpm-zsh/dircolors-neutral
zplug romkatv/powerlevel10k, as:theme, depth:1
## Install zplug plugins
# zplug check returns true if all packages are installed
# Therefore, when it returns false, run zplug install
if ! zplug check; then
zplug install
fi
## Load zplug plugins
zplug load
# ALIAS ----------------------------------------------------------------
alias keyboard-awesome='setxkbmap -layout \"us,si\"'
alias lockui='i3lock -c 000000'
alias pacmanClean='pacman -Rs $(pacman -Qtdq)'
alias yaourtClean='yaourt -Rs $(yaourt -Qtdq)'
alias pacmanUpdateMirrors='sudo pacman-mirrors --geoip'
alias nvimqt='nvim-qt --no-ext-tabline &> /dev/null &'
alias rcp='rsync -ah --progress'
alias vim='nvim'
alias vi='nvim'
# BIND ------------------------------------------------------------------
bindkey '^E' edit-command-line # Opens Vim to edit current command line
bindkey '^R' history-incremental-search-backward # Perform backward search in command line history
bindkey '^S' history-incremental-search-forward # Perform forward search in command line history
bindkey '^P' history-search-backward # Go back/search in history (autocomplete)
bindkey '^N' history-search-forward # Go forward/search in history (autocomplete)
# THEME -----------------------------------------------------------------
if [[ -n $SSH_CONNECTION ]]; then
source ~/.themes/p10k.ssh.zsh
elif [[ "$TERM" = "linux" ]]; then
source ~/.themes/p10k.tty.zsh
else
source ~/.themes/p10k.zsh
fi
# FUNCTIONS -------------------------------------------------------------
# ex - archive extractor
# Usage: ex <file>
# Args:
# $1 -> File
ex() {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# vnc.ssh - VNC viewer over SSH tunnel
# Usage: vnc.ssh <ssh_addr> [<port>]
# Args:
# $1 -> String representing hostname or user@hostname
# $2 -> Port to farward
vnc.ssh () {
port=5901
if (( $# == 0 )); then
return 1
elif (( $# == 2 )); then
port=$2
fi
ssh -L ${port}:localhost:5901 $1 -f sleep 10
out=$(vncviewer localhost:1)
return ${out}
}
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh