123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- ### Source local secrets
- [ -f ${HOME}/.config/zsh/secrets ] && . ${HOME}/.config/zsh/secrets
- ## local completions
- if [ -d "${HOME}/.config/zsh/completions" ]; then
- export fpath=(${HOME}/.config/zsh/completions "${fpath[@]}")
- fi
- ### edit cmds
- export VISUAL=vim
- autoload edit-command-line
- zle -N edit-command-line
- bindkey "^X^E" edit-command-line
- ### antibody
- autoload -Uz compinit
- compinit
- . ${HOME}/.config/zsh/antibody.zsh
- ### KiTTY completion
- if which kitty > /dev/null; then
- kitty + complete setup zsh | source /dev/stdin
- fi
- ### fasd
- if which fasd > /dev/null; then
- eval "$(fasd --init auto)"
- unalias sd
- fi
- ### Pipenv
- if which pipenv > /dev/null; then
- if [ -f ${HOME}/.config/zsh/pipenv.zsh ]; then
- eval "$(cat ${HOME}/.config/zsh/pipenv.zsh)"
- else
- eval "$(pipenv --completion)"
- fi
- fi
- ### virtualenvwrapper
- if [ -f /usr/bin/virtualenvwrapper_lazy.sh ]; then
- source /usr/bin/virtualenvwrapper_lazy.sh
- fi
- ### FZF
- [ -f ${HOME}/.config/zsh/fzf.zsh ] && . ${HOME}/.config/zsh/fzf.zsh
- ### ASDF
- if [ -d /opt/asdf-vm ]; then
- . /opt/asdf-vm/asdf.sh
- fi
- ### Misc
- ## TERM
- # Many target machines do not understand TERM=xterm-kitty
- if [ "z${TMUX}" = "z" ]; then
- function ssh {
- TERM=xterm-color /bin/ssh ${@}
- }
- fi
- if [[ ! -z $TMUX ]]; then
- export TERM=tmux-256color
- fi
- ## Editor
- export EDITOR=vim
- ## Locale
- export LANG=.UTF-8
- export LANGUAGE=en_US
- export LC_CTYPE=en_US.UTF-8
- export LC_NUMERIC=en_US.UTF-8
- export LC_TIME=it_IT.UTF-8
- export LC_COLLATE=en_US.UTF-8
- export LC_MONETARY=it_IT.UTF-8
- export LC_MESSAGES=en_US.UTF-8
- export LC_PAPER=it_IT.UTF-8
- export LC_NAME=en_US.UTF-8
- export LC_ADDRESS=en_US.UTF-8
- export LC_TELEPHONE=en_US.UTF-8
- export LC_MEASUREMENT=it_IT.UTF-8
- export LC_IDENTIFICATION=en_US.UTF-8
- export LC_ALL=
- ## Flutter && Dart
- export ANDROID_SDK=${HOME}/Android/Sdk
- export PATH=${ANDROID_SDK}/emulator:${ANDROID_SDK}/tools:$PATH
- export PATH=/opt/flutter/bin/:"$HOME/.pub-cache/bin":$PATH
- export CHROME_EXECUTABLE=/usr/bin/chromium
- ## Go
- export GOPATH=${HOME}/.go
- export PATH=${GOPATH}/bin:$PATH
- ## Ruby
- #export PATH=${PATH}:/home/leo/.gem/ruby/2.7.0/bin
- ## Elixir
- export ERL_AFLAGS="-kernel shell_history enabled"
- ## Python
- PYTHON_VERSION=$(python -c 'import sys; print("{}.{}".format(*sys.version_info[0:2]))')
- ## Aliases
- alias t="tmux -2"
- alias sy="systemctl"
- alias ssy="sudo systemctl"
- alias syu="systemctl --user"
- alias sl="cmatrix -b -s"
- alias cd..="cmatrix -b -s -C yellow"
- alias lt="ls -lt"
- alias l="ls -1"
- alias lh="ls -lh"
- alias la="ls -la"
- alias ll="ls -l"
- alias lrt="ls -lrt"
- alias wgpg="gpg --homedir /home/leo/.gnupg-work"
- alias agpg="gpg --homedir /home/leo/.gnupg-ai"
- alias ai_all="cat ${HOME}/Documents/personal/ai/code/prod/hosts.yml|yq '[.hosts|to_entries[]|{"key": .key, "value": .value.groups}]|from_entries'"
- alias pacbrowse="pacman -Qq | fzf --preview 'pacman -Qil {}' --layout=reverse --bind 'enter:execute(pacman -Qil {} | less)'"
- alias pikbrowse="pikaur -Qq | fzf --preview 'pacman -Qil {}' --layout=reverse --bind 'enter:execute(pikaur -Qil {} | less)'"
- alias vf="cd \$(git rev-parse --show-toplevel)"
- alias vvf="cd \$(${HOME}/.bin/vvf.sh)"
- ## Drone CLI
- export DRONE_SERVER=https://drone.troubles.io
- export DRONE_TOKEN=${drone_token}
- # ensure Git completion
- fpath+=/usr/share/git/completion
- ## mailbundle
- alias mutt="neomutt"
- alias mailbundle="/opt/mailbundle/config/bin/autorun"
- ## torbrowser
- export PATH=/opt/tor-browser_en-US:$PATH
- ## platform-tools
- export PATH=/opt/android-sdk/platform-tools:$PATH
- ## Custom functions
- function lookhosts {
- if which rg 2>&1 > /dev/null; then
- GREP=rg
- else
- GREP=grep
- fi
- ${GREP} $@ /etc/hosts
- }
- function reload_work_gpg {
- kill -9 $(ps aux|egrep "gpg-agent.*work"|grep -v grep|awk '{print $2}')
- }
- function sway-screens {
- local screens=$(swaymsg -t get_outputs -r)
- local show_active
- local show_inactive
- local var_style="plain"
- local active_screens=()
- local inactive_screens=()
- while [ $# -ne 0 ]; do
- case $1 in
- -a|--active)
- show_active=1
- ;;
- -n|--inactive)
- show_inactive=1
- ;;
- -s|--style)
- case $2 in
- json)
- var_style="json"
- ;;
- plain)
- ;;
- *)
- echo "unknown style ${2}"
- return 1
- ;;
- esac
- shift
- ;;
- esac
- shift
- done
- if [ "z${show_active}" != "z" ]; then
- for s in $(echo $screens|jq -r '.[] | select(.active) | .name'); do
- active_screens+=($s)
- done
- fi
- if [ "z${show_inactive}" != "z" ]; then
- for s in $(echo $screens|jq -r '.[] | select(.active|not) | .name'); do
- inactive_screens+=($s)
- done
- fi
- if [ "${var_style}" = "plain" ]; then
- if [ ${#active_screens[@]} -gt 0 ]; then
- echo "ACTIVE=${active_screens[@]}"
- fi
- if [ ${#inactive_screens[@]} -gt 0 ]; then
- echo "INACTIVE=${inactive_screens[@]}"
- fi
- else
- local active=""
- for s in $active_screens; do
- active+="\"$s\","
- done
- active=${active%,}
- local inactive=""
- for s in $inactive_screens; do
- inactive+="\"$s\","
- done
- inactive=${inactive%,}
- local content=""
- if [ "z${show_active}" != "z" ]; then
- content+="\"active\": [${active}],"
- fi
- if [ "z${show_inactive}" != "z" ]; then
- content+="\"inactive\": [${inactive}],"
- fi
- content=${content%,}
- echo "{${content}}" | jq
- fi
- }
- urlencode() {
- # urlencode <string>
- old_lc_collate=$LC_COLLATE
- LC_COLLATE=C
- local length="${#1}"
- for (( i = 0; i < length; i++ )); do
- local c="${1:$i:1}"
- case $c in
- [a-zA-Z0-9.~_-]) printf '%s' "$c" ;;
- *) printf '%%%02X' "'$c" ;;
- esac
- done
- LC_COLLATE=$old_lc_collate
- }
- urldecode() {
- # urldecode <string>
- local url_encoded="${1//+/ }"
- printf '%b' "${url_encoded//%/\\x}"
- }
- ## Custom completion
- # certo
- eval "$(_CERTO_COMPLETE=source_zsh certo)"
- ## Colored manual
- function _man() {
- man $@ | bat -p --language="man"
- }
- alias man="_man"
- ## Local only
- if [ -f ${HOME}/.zshrc.local ]; then
- . ${HOME}/.zshrc.local
- fi
- # [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
- # vim: set ft=zsh et sw=0 ts=2 sts=0:
|