]> git.friedersdorff.com Git - max/saltfiles.git/blob - states/zsh/files/zshrc
Fuck gpg-agent directly
[max/saltfiles.git] / states / zsh / files / zshrc
1 # The following lines were added by compinstall
2
3 zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
4 zstyle ':completion:*' completions 1
5 zstyle ':completion:*' expand suffix
6 zstyle ':completion:*' glob 1
7 zstyle ':completion:*' ignore-parents parent pwd
8 zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
9 zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
10 zstyle ':completion:*' list-suffixes true
11 zstyle ':completion:*' max-errors 1
12 zstyle ':completion:*' menu select=1
13 zstyle ':completion:*' preserve-prefix '//[^/]##/'
14 zstyle ':completion:*' prompt 'Corrections with %e differences:'
15 zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
16 zstyle ':completion:*' substitute 1
17 zstyle :compinstall filename '/home/max/.zshrc'
18
19 autoload -Uz compinit
20 compinit
21 # End of lines added by compinstall
22 # Lines configured by zsh-newuser-install
23 HISTFILE=~/.histfile
24 HISTSIZE=100000
25 SAVEHIST=100000
26 setopt appendhistory autocd extendedglob nomatch
27 unsetopt beep notify
28 bindkey -v
29 # End of lines configured by zsh-newuser-install
30
31 # Prompt
32 NEWLINE=$'\n'
33 setopt prompt_subst
34
35
36 p="%(?;%F{green};%F{red})[%h]%f "
37 p+="%F{red}%B%n%b%f@%F{red}%B%m%b%f"
38 p+=":%F{blue}%~%f"
39 p+="${NEWLINE}%(!.#.$) "
40
41 virtual_env() {
42         if [ -n "${VIRTUAL_ENV+1}" ]; then
43                 home_rel_path=$(echo ${VIRTUAL_ENV} | sed "s;^${HOME};~;")
44                 echo -n "(${home_rel_path}) "
45         fi
46 }
47
48 source ~/.git-prompt.sh
49 precmd () {
50         __git_ps1 "" "$(virtual_env)${p}" "${NEWLINE}[%s]${NEWLINE}"
51 }
52
53 eval $(keychain --agents gpg,ssh --eval --quiet --noask id_ed25519 B3030EB2 F0C471E6)
54
55 bindkey '^R' history-incremental-search-backward
56
57 if [[ -f ~/.shell_aliases ]]; then
58         source ~/.shell_aliases
59 fi
60
61 export WORKON_HOME=~/.virtualenvs
62 source /usr/bin/virtualenvwrapper_lazy.sh
63
64 chpwd() {
65     src_dir="$(readlink -f ~/src/)/"
66     if [[ $PWD == "$src_dir"* ]]; then
67         if git status &>/dev/null; then
68             venv_name=$(basename $(git rev-parse --show-toplevel))
69             if [[ -n "$VIRTUAL_ENV" ]]; then
70                 current_venv_name=$(basename "$VIRTUAL_ENV")
71                 if [[ "$current_venv_name" != "$venv_name" ]]; then
72                     deactivate
73                     workon "$venv_name"
74                 fi
75             else
76                 if workon | grep -q "$venv_name"; then
77                     workon "$venv_name"
78                 fi
79             fi
80         else
81             if [[ -n "$VIRTUAL_ENV" ]]; then
82                 deactivate
83             fi
84         fi
85     else
86         if [[ -n "$VIRTUAL_ENV" ]]; then
87             deactivate
88         fi
89     fi
90 }