+chpwd() {
+ src_dir="$(readlink -f ~/src/)/"
+ if [[ $PWD == "$src_dir"* ]]; then
+ if git status &>/dev/null; then
+ venv_name=$(basename $(git rev-parse --show-toplevel))
+ if [[ -n "$VIRTUAL_ENV" ]]; then
+ current_venv_name=$(basename "$VIRTUAL_ENV")
+ if [[ "$current_venv_name" != "$venv_name" ]]; then
+ deactivate
+ workon "$venv_name"
+ fi
+ else
+ if workon | grep -q "$venv_name"; then
+ workon "$venv_name"
+ fi
+ fi
+ else
+ if [[ -n "$VIRTUAL_ENV" ]]; then
+ deactivate
+ fi
+ fi
+ else
+ if [[ -n "$VIRTUAL_ENV" ]]; then
+ deactivate
+ fi
+ fi
+}
+
+export GPG_TTY=$(tty)
+gpg-connect-agent updatestartuptty /bye >/dev/null
+
+ZSH_AUTOSUGGEST_STRATEGY=(history completion)
+ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=30
+
+source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
+
+sri() {
+ base64_hash=$(curl "$1" | shasum -b -a "$2" - | awk '{print $1}' | xxd -r -p | base64)
+ echo "sha${2}-${base64_hash}"
+}
+
+scrot() {
+ tmp_file=$(mktemp --tmpdir XXXXXX_scrot.png)
+ grim -g "$(slurp)" "$tmp_file"
+ echo "$tmp_file"
+}