dotfiles/.zshrc
Trysdyn Black 8d0674865d Set up OS-specific zsh configs
- Move keybinds into a match for Darwin systems
- Move BSD-isms into the same match, split off Linux-isms for binutils
  into a match for linux systems
- Add a comment or two for some directives I did not immediately
  remember what they did, so I'll remember next time more easily
2021-04-01 16:50:06 -07:00

61 lines
1.7 KiB
Bash

export LANG=en_US.UTF-8
# Start keychain only on my personal system
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
SESSION_TYPE=ssh
else
eval `keychain --eval --agents ssh id_rsa`
fi
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
source ~/.p10k/powerlevel10k.zsh-theme
# Print user@host into title so terminal tabs are correct
# Despite being called precmd() this executes after process exits, before prompt
precmd() { echo -ne "\033]0;${USER}@${HOST}\007" }
# These are pretty safe to assume exist
export PATH=~/bin:$PATH
export EDITOR=vim
export VISUAL=$EDITOR
# most does not exist on every system I touch
if [[ -a /usr/bin/most ]]; then
export PAGER=most
fi
# OS-specific directives
case "$OSTYPE" in
darwin*)
bindkey "^[[H" beginning-of-line # HOME
bindkey "^[[F" end-of-line # END
bindkey "^[[3~" delete-char # DEL
alias ls='ls -G'
;;
linux*)
alias ls='ls --color=auto'
alias diff='diff --color=auto'
;;
esac
# Global aliases
alias ct="clear && task"
alias tt="taskwarrior-tui"
alias grep='grep -EIs --color=auto --exclude-dir=.git'
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory
# Case-insensetive tab completion
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh