Add zsh config
This commit is contained in:
commit
f42c2e1954
2 changed files with 144 additions and 0 deletions
36
dot_zshenv
Normal file
36
dot_zshenv
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
typeset -U path
|
||||||
|
path=(~/.local/bin ~/.cargo/bin $path[@])
|
||||||
|
|
||||||
|
if [[ $XDG_SESSION_TYPE == "wayland" ]]; then
|
||||||
|
export QT_QPA_PLATFORM=wayland-egl
|
||||||
|
export MOZ_ENABLE_WAYLAND=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# make less more friendly for non-text input files, see lesspipe(1)
|
||||||
|
if [ -x /usr/bin/lesspipe ]; then
|
||||||
|
export LESSOPEN="|lesspipe %s"
|
||||||
|
elif [ -x /usr/bin/lesspipe.sh ]; then
|
||||||
|
export LESSOPEN="|lesspipe.sh %s"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# colored GCC warnings and errors
|
||||||
|
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
||||||
|
export EDITOR="nvim"
|
||||||
|
export TMPDIR="/tmp/${USER}"
|
||||||
|
|
||||||
|
export GIT_PS1_SHOWDIRTYSTATE=true
|
||||||
|
export GIT_PS1_SHOWSTASHSTATE=true
|
||||||
|
export GIT_PS1_SHOWUNTRACKEDFILEDS=true
|
||||||
|
export GIT_PS1_SHOWUPSTREAM="verbose"
|
||||||
|
export GIT_PS1_DESCRIBE_STYLE="branch"
|
||||||
|
export GIT_PS1_SHOWCOLORHINTS="color"
|
||||||
|
|
||||||
|
eval $(dircolors ~/.dir_colors)
|
||||||
|
|
||||||
|
export GPG_TTY=$(tty)
|
||||||
|
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
|
|
||||||
|
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
|
||||||
|
|
||||||
|
export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
|
||||||
108
dot_zshrc
Normal file
108
dot_zshrc
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
# The following lines were added by compinstall
|
||||||
|
|
||||||
|
zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
|
||||||
|
zstyle ':completion:*' completions 1
|
||||||
|
zstyle ':completion:*' expand suffix
|
||||||
|
zstyle ':completion:*' glob 1
|
||||||
|
zstyle ':completion:*' ignore-parents parent pwd
|
||||||
|
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
||||||
|
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
|
||||||
|
zstyle ':completion:*' list-suffixes true
|
||||||
|
zstyle ':completion:*' max-errors 1
|
||||||
|
zstyle ':completion:*' menu select=1
|
||||||
|
zstyle ':completion:*' preserve-prefix '//[^/]##/'
|
||||||
|
zstyle ':completion:*' prompt 'Corrections with %e differences:'
|
||||||
|
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
|
||||||
|
zstyle ':completion:*' substitute 1
|
||||||
|
zstyle :compinstall filename '/home/max/.zshrc'
|
||||||
|
|
||||||
|
autoload -Uz compinit
|
||||||
|
compinit
|
||||||
|
# End of lines added by compinstall
|
||||||
|
# Lines configured by zsh-newuser-install
|
||||||
|
HISTFILE=~/.histfile
|
||||||
|
HISTSIZE=100000
|
||||||
|
SAVEHIST=100000
|
||||||
|
setopt appendhistory autocd extendedglob nomatch extendedhistory correct
|
||||||
|
unsetopt beep notify
|
||||||
|
bindkey -v
|
||||||
|
# End of lines configured by zsh-newuser-install
|
||||||
|
|
||||||
|
# Prompt
|
||||||
|
NEWLINE=$'\n'
|
||||||
|
setopt prompt_subst
|
||||||
|
|
||||||
|
|
||||||
|
p="%(?;%F{green};%F{red})[%h]%f "
|
||||||
|
p+="%F{red}%B%n%b%f@%F{red}%B%m%b%f"
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
source ~/.git-prompt.sh
|
||||||
|
precmd () {
|
||||||
|
__git_ps1 "" "$(virtual_env)${p}" "${NEWLINE}[%s]${NEWLINE}"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindkey '^R' history-incremental-search-backward
|
||||||
|
|
||||||
|
if [[ -f ~/.shell_aliases ]]; then
|
||||||
|
source ~/.shell_aliases
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
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=$(shasum -b -a 384 "$1" | awk '{print $1}' | xxd -r -p | base64)
|
||||||
|
echo "sha384-${base64_hash}"
|
||||||
|
}
|
||||||
|
|
||||||
|
scrot() {
|
||||||
|
tmp_file=$(mktemp --tmpdir XXXXXX_scrot.png)
|
||||||
|
grim -g "$(slurp)" "$tmp_file"
|
||||||
|
echo "$tmp_file"
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue