-
Notifications
You must be signed in to change notification settings - Fork 0
/
.zshrc
157 lines (134 loc) · 3.93 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
## Oh-my-zsh
export ZSH=~/.oh-my-zsh
HYPHEN_INSENSITIVE="true"
plugins=(\
git\
colored-man-pages\
npm\
pip\
docker\
z\
rust\
vi-mode\
fzf\
zsh-autosuggestions\
#zsh_reload\
#fast-syntax-highlighting\
zsh-syntax-highlighting\
# slow on newest wsl2
)
# some completion options
autoload -U compinit
compinit
autoload -U promptinit
promptinit
zstyle ':completion:*' menu select
setopt completealiases
setopt HIST_IGNORE_DUPS
# enable vim keybindings
# bindkey -v
set bell-style none
source $ZSH/oh-my-zsh.sh
## Environments
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export EDITOR=vi
export GOPATH=$HOME/go
export CARGO_HOME=$HOME/.cargo
export VCPKG_ROOT=$HOME/.vcpkg
export CMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
export VCPKG_DEFAULT_TRIPLET=x64-linux
export PATH=$PATH:\
$HOME/.local/bin/:\
$HOME/.yarn/bin:\
$HOME/.config/yarn/global/node_modules/.bin:\
$CARGO_HOME/bin:\
$VCPKG_ROOT:\
$GOPATH/bin:\
$HOME/depot_tools:
## Aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
alias vi='vim'
alias gcam='git commit -am'
alias gpush='git push'
alias gs='git status'
alias findf='find . -name'
alias path='echo $PATH | sed s/:/\\n/g'
## Alternative commands
if [ -x `command -v most` ]; then
export PAGER=most
alias man='PAGER=most man'
fi
if [ -x `command -v nvim` ]; then
alias vim=nvim
alias vi=nvim
export EDITOR=nvim
fi
if [ -x `command -v exa` ]; then
alias ls='exa --icons'
alias ll='exa --icons -l'
alias la='exa --icons -al'
elif [ -x `command -v lsd`]; then
alias ls='lsd'
alias ll='lsd -l'
alias la='lsd -al'
else
alias ls='ls --color=auto'
alias ll='ls -alF'
alias la='ls -A'
alias lt='ll --sort=time'
fi
## WSL
wslg_dpi_scale() {
local dpi_scale WindowMetricsAppliedDPI
dpi_scale="${GDK_DPI_SCALE:-${QT_SCALE_FACTOR:-}}"
if [[ -z "${dpi_scale:-}" ]] ; then
WindowMetricsAppliedDPI=$("/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe" "(Get-ItemProperty -Path 'HKCU:\\Control Panel\\Desktop\\WindowMetrics').AppliedDPI")
WindowMetricsAppliedDPI=${WindowMetricsAppliedDPI%$'\r'}
dpi_scale=$(bc <<<"scale=2; $WindowMetricsAppliedDPI / 96")
fi
export GDK_DPI_SCALE=${GDK_DPI_SCALE:-$dpi_scale}
export GTK_SCALE=${GTK_SCALE:-$dpi_scale}
# https://doc.qt.io/qt-5/highdpi.html
# export QT_AUTO_SCREEN_SCALE_FACTOR=${QT_AUTO_SCREEN_SCALE_FACTOR:-1}
# export QT_ENABLE_HIGHDPI_SCALING=${QT_ENABLE_HIGHDPI_SCALING:-1}
export QT_SCALE_FACTOR=${QT_SCALE_FACTOR:-$GDK_DPI_SCALE}
# export MESA_D3D12_DEFAULT_ADAPTER_NAME="Intel(R) UHD Graphics 770"
}
if [[ -n $WSLENV ]]; then
if [[ -n $WSL2_GUI_APPS_ENABLED ]]; then
export LIBVA_DRIVER_NAME=d3d12
[ -d /mnt/wslg/runtime-dir ] && wslg_dpi_scale
else
export WinHost=`cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'`
if [ ! -n "$(grep -P "[[:space:]]WinHost" /etc/hosts)" ]; then
printf "%s\t%s\n" "$WinHost" "WinHost" | sudo tee -a "/etc/hosts"
fi
export DISPLAY=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`:0
export LIBGL_ALWAYS_INDIRECT=1
export PULSE_SERVER=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`
fi
fi
## Appearance
if [ -x `command -v starship` ]; then
eval `starship init zsh`
elif [ -x `command -v p10k` ]; then
ZSH_THEME="powerlevel10k/powerlevel10k"
else
ZSH_THEME="agnoster"
fi
## Custom per machine
if [[ -f ~/.zshrc.local ]]; then
source ~/.zshrc.local
fi
autoload bashcompinit
bashcompinit
source /home/doubleleft/.vcpkg/scripts/vcpkg_completion.zsh
# >>> xmake >>>
test -f "/home/doubleleft/.xmake/profile" && source "/home/doubleleft/.xmake/profile"
# <<< xmake <<<