]> git.friedersdorff.com Git - max/saltfiles.git/blobdiff - states/zsh/files/zshrc
Create dirs
[max/saltfiles.git] / states / zsh / files / zshrc
index e1659e5e47dd06f43d4ca06cd246952842a17ecb..aeed74141217c9de959c79ca4c15f906ba4cffa0 100644 (file)
@@ -23,7 +23,7 @@ compinit
 HISTFILE=~/.histfile
 HISTSIZE=100000
 SAVEHIST=100000
-setopt appendhistory autocd extendedglob nomatch
+setopt appendhistory autocd extendedglob nomatch extendedhistory correct
 unsetopt beep notify
 bindkey -v
 # End of lines configured by zsh-newuser-install
@@ -39,35 +39,70 @@ p+=":%F{blue}%~%f"
 p+="${NEWLINE}%(!.#.$) "
 
 virtual_env() {
-       if [ -n "${VIRTUAL_ENV+1}" ]; then
-               home_rel_path=$(echo ${VIRTUAL_ENV} | sed "s;^${HOME};~;")
-               echo -n "(${home_rel_path}) "
-       fi
+    if [ -n "${VIRTUAL_ENV+1}" ]; then
+        home_rel_path=$(echo ${VIRTUAL_ENV} | sed "s;^${HOME};~;")
+        echo -n "(${home_rel_path}) "
+    fi
 }
 
 source ~/.git-prompt.sh
 precmd () {
-       __git_ps1 "" "$(virtual_env)${p}" "${NEWLINE}[%s]${NEWLINE}"
+    __git_ps1 "" "$(virtual_env)${p}" "${NEWLINE}[%s]${NEWLINE}"
 }
 
+bindkey '^R' history-incremental-search-backward
 
-if ! pgrep -x -u "${USER}" gpg-agent >/dev/null 2>&1; then
-  gpg-connect-agent /bye >/dev/null 2>&1
+if [[ -f ~/.shell_aliases ]]; then
+    source ~/.shell_aliases
 fi
 
-unset SSH_AGENT_PID
-if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
-  export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
-fi
+export WORKON_HOME=~/.virtualenvs
+source /usr/bin/virtualenvwrapper_lazy.sh
 
+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
+}
 
-gpg-connect-agent updatestartuptty /bye > /dev/null
+export GPG_TTY=$(tty)
+gpg-connect-agent updatestartuptty /bye >/dev/null
 
-bindkey '^R' history-incremental-search-backward
+ZSH_AUTOSUGGEST_STRATEGY=(history completion)
+ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=30
 
-if [[ -f ~/.shell_aliases ]]; then
-       source ~/.shell_aliases
-fi
+source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
 
-export WORKON_HOME=~/.virtualenvs
-source /usr/bin/virtualenvwrapper_lazy.sh
+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"
+}