1
0
Fork 0

Syntax
continuous-integration/drone/push Build was killed Details

main
Ambrose Chua 2023-02-06 11:34:56 +08:00
parent f8fe35badd
commit ef36c989d3
3 changed files with 118 additions and 44 deletions

View File

@ -100,6 +100,7 @@
.pulumi
.pyenv
!.pwn
.rbenv
.rustup/toolchains
.rustup/update-hashes
.ssh/authorized_keys

1
.gitignore vendored
View File

@ -100,6 +100,7 @@
.pulumi
.pyenv
!.pwn
.rbenv
.rustup/toolchains
.rustup/update-hashes
.ssh/authorized_keys

160
.zshrc
View File

@ -36,12 +36,11 @@ load_slower() {
slowest_functions=()
load_slowest() {
for func in $slowest_functions; do
echo "Running $func"
$func
done
}
sup() {
echo "Good morning!"
echo "Good morning, Ambrose!"
load_slowest
}
prompt_run_count=0
@ -49,7 +48,7 @@ on_second_prompt() {
if [[ "$prompt_run_count" == 1 ]] && [[ "$USER" != "root" ]]; then
#zmodload zsh/zprof
load_slower
#load_slowest
load_slowest
#zprof
fi
(( prompt_run_count = prompt_run_count + 1 ))
@ -59,42 +58,112 @@ precmd_functions+=( on_second_prompt )
# executables
export PATH="$HOME/.local/bin:$HOME/.pwn/bin:$PATH"
if [[ -d "$HOME/.pulumi/bin" ]]; then
setup_pulumi() {
export PATH="$HOME/.pulumi/bin:$PATH"
fi
if [[ -d "$HOME/.deno" ]]; then
export DENO_INSTALL="$HOME/.deno"
}
[[ -d "$HOME/.pulumi/bin" ]] && setup_pulumi
setup_deno() {
export PATH="$DENO_INSTALL/bin:$PATH"
fi
export PYENV_ROOT="$HOME/.pyenv"
if [[ -d "$PYENV_ROOT" ]]; then
}
export DENO_INSTALL="$HOME/.deno"
[[ -d "$DENO_INSTALL" ]] && setup_deno
setup_pyenv() {
unfunction pyenv python3 pip python
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi
}
pyenv_loaded=0
setup_pyenv_on_demand() {
setup_pyenv_once() {
if [[ ! -d "$PYENV_ROOT" ]] && ! which pip 2>&1 >/dev/null; then
git clone https://github.com/pyenv/pyenv.git "$PYENV_ROOT"
fi
if [[ "$pyenv_loaded" != 1 ]]; then
echo "-- Loading pyenv --"
setup_pyenv && pyenv_loaded=1
fi
}
setup_pyenv_when_python_version() {
if [[ -f .python-version ]]; then
setup_pyenv_once
fi
}
precmd_functions+=( setup_pyenv_when_python_version )
pyenv() { setup_pyenv_once && pyenv "$@" }
python3() { setup_pyenv_once && python3 "$@" }
pip() { setup_pyenv_once && pip "$@" }
python() { setup_pyenv_once && python "$@" }
}
export PYENV_ROOT="$HOME/.pyenv"
#[[ -d "$PYENV_ROOT" ]] && setup_pyenv_on_demand
setup_pyenv_on_demand
setup_nvm() {
unfunction nvm node
source "$NVM_DIR/nvm.sh"
}
nvm_loaded=0
setup_nvm_on_demand() {
setup_nvm_once() {
if [[ "$nvm_loaded" != 1 ]]; then
echo "-- Loading nvm --"
setup_nvm && nvm_loaded=1
fi
}
nvm() { setup_nvm_once && nvm "$@" }
node() { setup_nvm_once && node "$@" }
}
export NVM_DIR="$HOME/.nvm"
if [[ -d "$NVM_DIR" ]]; then
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
fi
if [[ -f "$(which ruby 2>/dev/null)" ]]; then
[[ -d "$NVM_DIR" ]] && setup_nvm_on_demand
setup_ruby() {
export PATH="$(ruby -e 'puts Gem.user_dir')/bin:$PATH"
fi
if [[ -f "$(which go 2>/dev/null)" ]]; then
}
which ruby 2>&1 >/dev/null && setup_ruby
setup_go() {
export PATH="$(go env GOPATH)/bin:$PATH"
fi
if [[ -f "$HOME/go/bin/g" ]]; then
}
which go 2>&1 >/dev/null && setup_go
setup_g() {
export PATH="$HOME/go/bin:$PATH" GOPATH="$HOME/go" GOROOT="$HOME/.go" # g-install: do NOT edit, see https://github.com/stefanmaric/g
fi
if [[ -d "$HOME/flutter/bin" ]]; then
}
[[ -f "$HOME/go/bin/g" ]] && setup_g
setup_flutter() {
export PATH="$HOME/flutter/bin:$HOME/.pub-cache/bin:$PATH"
fi
if [[ -d "$HOME/.cargo" ]]; then
}
[[ -d "$HOME/flutter/bin" ]] && setup_flutter
setup_cargo() {
export PATH="$HOME/.cargo/bin:$PATH"
fi
if [[ -d "$HOME/.rbenv" ]]; then
export PATH="$HOME/.rbenv/bin:$PATH"
fi
}
[[ -d "$HOME/.cargo" ]] && setup_cargo
setup_rbenv() {
unfunction rbenv ruby gem
command -v rbenv >/dev/null || export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"
}
rbenv_loaded=0
setup_rbenv_on_demand() {
setup_rbenv_once() {
if [[ ! -d "$RBENV_ROOT" ]] && ! which ruby 2>&1 >/dev/null; then
git clone https://github.com/rbenv/rbenv.git "$RBENV_ROOT"
fi
if [[ "$rbenv_loaded" != 1 ]]; then
echo "-- Loading rbenv --"
setup_rbenv && rbenv_loaded=1
fi
}
setup_rbenv_when_python_version() {
if [[ -f .python-version ]]; then
setup_rbenv_once
fi
}
precmd_functions+=( setup_rbenv_when_python_version )
rbenv() { setup_rbenv_once && rbenv "$@" }
ruby() { setup_rbenv_once && ruby "$@" }
gem() { setup_rbenv_once && gem "$@" }
}
export RBENV_ROOT="$HOME/.rbenv"
#[[ -d "$RBENV_ROOT" ]] && setup_rbenv_on_demand
setup_rbenv_on_demand
# platform specific
@ -119,7 +188,7 @@ if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
alias icat="imgcat"
alias ssh="TERM=xterm-256color ssh"
fi
if [[ "$TERM" == "xterm-kitty" ]] && [[ -f "$(which kitty 2>/dev/null)" ]]; then
if [[ "$TERM" == "xterm-kitty" ]] && which kitty 2>&1 >/dev/null; then
alias icat="kitty +kitten icat"
alias ssh="kitty +kitten ssh"
fi
@ -138,12 +207,18 @@ fi
# completion
setup_completion() {
autoload -U compinit; compinit
autoload -U +X bashcompinit && bashcompinit
if ! command -v compinit >/dev/null; then
autoload -Uz compinit
compinit
fi
if ! command -v bashcompinit >/dev/null; then
autoload -Uz bashcompinit
bashcompinit
fi
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' format '%F{blue}-- %d --%f'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
zstyle ':completion:*' list-colors ''
@ -161,17 +236,14 @@ setup_completion_more() {
# Depends:
setup_completion
if [[ -f "$(which mc 2>/dev/null)" ]]; then
if which mc 2>&1 >/dev/null; then
complete -o nospace -C mc mc
echo "Loaded minio completion"
fi
if [[ -f "$(which earthly 2>/dev/null)" ]]; then
if which earthly 2>&1 >/dev/null; then
complete -o nospace -C earthly earthly
echo "Loaded earthly completion"
fi
if [[ -f "$(which kubectl 2>/dev/null)" ]]; then
if which kubectl 2>&1 >/dev/null; then
source <(kubectl completion zsh)
echo "Loaded kubectl completion"
fi
if [[ -d "$NVM_DIR" ]]; then
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
@ -189,7 +261,7 @@ alias lesscolor="less --RAW-CONTROL-CHARS"
export LS_COLORS='no=00:fi=00:di=36:ow=34;40:ln=35:pi=30;44:so=35;44:do=35;44:bd=33;44:cd=37;44:or=05;37;41:mi=05;37;41:ex=01;31:*.cmd=01;31:*.exe=01;31:*.com=01;31:*.bat=01;31:*.reg=01;31:*.app=01;31:*.txt=32:*.org=32:*.md=32:*.mkd=32:*.h=32:*.hpp=32:*.c=32:*.C=32:*.cc=32:*.cpp=32:*.cxx=32:*.objc=32:*.cl=32:*.sh=32:*.bash=32:*.csh=32:*.zsh=32:*.el=32:*.vim=32:*.java=32:*.pl=32:*.pm=32:*.py=32:*.rb=32:*.hs=32:*.php=32:*.htm=32:*.html=32:*.shtml=32:*.erb=32:*.haml=32:*.xml=32:*.rdf=32:*.css=32:*.sass=32:*.scss=32:*.less=32:*.js=32:*.coffee=32:*.man=32:*.0=32:*.1=32:*.2=32:*.3=32:*.4=32:*.5=32:*.6=32:*.7=32:*.8=32:*.9=32:*.l=32:*.n=32:*.p=32:*.pod=32:*.tex=32:*.go=32:*.sql=32:*.csv=32:*.sv=32:*.svh=32:*.v=32:*.vh=32:*.vhd=32:*.bmp=33:*.cgm=33:*.dl=33:*.dvi=33:*.emf=33:*.eps=33:*.gif=33:*.jpeg=33:*.jpg=33:*.JPG=33:*.mng=33:*.pbm=33:*.pcx=33:*.pdf=33:*.pgm=33:*.png=33:*.PNG=33:*.ppm=33:*.pps=33:*.ppsx=33:*.ps=33:*.svg=33:*.svgz=33:*.tga=33:*.tif=33:*.tiff=33:*.xbm=33:*.xcf=33:*.xpm=33:*.xwd=33:*.xwd=33:*.yuv=33:*.nef=33:*.NEF=33:*.aac=33:*.au=33:*.flac=33:*.m4a=33:*.mid=33:*.midi=33:*.mka=33:*.mp3=33:*.mpa=33:*.mpeg=33:*.mpg=33:*.ogg=33:*.opus=33:*.ra=33:*.wav=33:*.anx=33:*.asf=33:*.avi=33:*.axv=33:*.flc=33:*.fli=33:*.flv=33:*.gl=33:*.m2v=33:*.m4v=33:*.mkv=33:*.mov=33:*.MOV=33:*.mp4=33:*.mp4v=33:*.mpeg=33:*.mpg=33:*.nuv=33:*.ogm=33:*.ogv=33:*.ogx=33:*.qt=33:*.rm=33:*.rmvb=33:*.swf=33:*.vob=33:*.webm=33:*.wmv=33:*.doc=31:*.docx=31:*.rtf=31:*.odt=31:*.dot=31:*.dotx=31:*.ott=31:*.xls=31:*.xlsx=31:*.ods=31:*.ots=31:*.ppt=31:*.pptx=31:*.odp=31:*.otp=31:*.fla=31:*.psd=31:*.7z=1;35:*.apk=1;35:*.arj=1;35:*.bin=1;35:*.bz=1;35:*.bz2=1;35:*.cab=1;35:*.deb=1;35:*.dmg=1;35:*.gem=1;35:*.gz=1;35:*.iso=1;35:*.jar=1;35:*.msi=1;35:*.rar=1;35:*.rpm=1;35:*.tar=1;35:*.tbz=1;35:*.tbz2=1;35:*.tgz=1;35:*.tx=1;35:*.war=1;35:*.xpi=1;35:*.xz=1;35:*.z=1;35:*.Z=1;35:*.zip=1;35:*.zst=1;35:*.ANSI-30-black=30:*.ANSI-01;30-brblack=01;30:*.ANSI-31-red=31:*.ANSI-01;31-brred=01;31:*.ANSI-32-green=32:*.ANSI-01;32-brgreen=01;32:*.ANSI-33-yellow=33:*.ANSI-01;33-bryellow=01;33:*.ANSI-34-blue=34:*.ANSI-01;34-brblue=01;34:*.ANSI-35-magenta=35:*.ANSI-01;35-brmagenta=01;35:*.ANSI-36-cyan=36:*.ANSI-01;36-brcyan=01;36:*.ANSI-37-white=37:*.ANSI-01;37-brwhite=01;37:*.log=01;32:*~=01;32:*#=01;32:*.bak=01;33:*.BAK=01;33:*.old=01;33:*.OLD=01;33:*.org_archive=01;33:*.off=01;33:*.OFF=01;33:*.dist=01;33:*.DIST=01;33:*.orig=01;33:*.ORIG=01;33:*.swp=01;33:*.swo=01;33:*.v=01;33:*.gpg=34:*.gpg=34:*.pgp=34:*.asc=34:*.3des=34:*.aes=34:*.enc=34:*.sqlite=34:'
export CLICOLOR=1
export TIME_STYLE=iso
if [[ -f "$(which exa 2>/dev/null)" ]]; then
if which exa 2>&1 >/dev/null; then
alias ls=exa
fi
alias ll="ls -l"
@ -199,7 +271,7 @@ llp() {
# grep
if [[ -f "$(which rg 2>/dev/null)" ]]; then
if which rg 2>&1 >/dev/null; then
rgp() {
rg --line-number --heading --color=always "$@" | lesscolor
}
@ -443,7 +515,7 @@ setup_assistance() {
}
slower_functions+=( setup_assistance )
setup_nope() {
if [[ -f "$(which thefuck 2>/dev/null)" ]]; then
if which thefuck 2>&1 >/dev/null; then
eval $(thefuck --alias nope)
fi
}
@ -489,7 +561,7 @@ function theme {
fi
setup_prompt
if [[ -z "$SSH_CLIENT" ]]; then
if [[ $PLATFORM == linux ]] && [[ -f "$(which gsettings 2>/dev/null)" ]]; then
if [[ $PLATFORM == linux ]] && which gsettings 2>&1 >/dev/null; then
gsettings set org.gnome.desktop.interface gtk-theme $gnome_theme
fi
if [[ $PLATFORM == macos ]]; then
@ -500,7 +572,7 @@ function theme {
# gnupg
if [[ -f "$(which gpgconf 2>/dev/null)" ]]; then
if which gpgconf 2>&1 >/dev/null; then
if [[ -z "$SSH_CLIENT" ]] || [[ -z "$SSH_AUTH_SOCK" ]]; then
# use gpg agent for SSH if not connected over SSH
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
@ -509,7 +581,7 @@ if [[ -f "$(which gpgconf 2>/dev/null)" ]]; then
# start gpg agent for SSH access
gpg-connect-agent /bye >/dev/null 2>&1
fi
if [[ $PLATFORM == macos ]] && [[ -f "$(which pinentry-mac 2>/dev/null)" ]]; then
if [[ $PLATFORM == macos ]] && which pinentry-mac 2>&1 >/dev/null; then
# if pinentry-mac exists, relink if not done
# see https://github.com/Homebrew/linuxbrew-core/blob/fd3dadc66f11b7317035e76552992ef368adf7ea/Formula/gnupg.rb#L46
pinentry_configure="/usr/local/opt/pinentry/bin/pinentry"