dotfiles/.zshrc

92 lines
2.6 KiB
Bash

# Path to your oh-my-zsh installation.
export ZSH=/usr/share/oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="agnoster"
# Uncomment the following line to use case-sensitive completion.
CASE_SENSITIVE="true"
# Disable auto-update
zstyle ':omz:update' mode disabled
# Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
HIST_STAMPS="dd.mm.yyyy"
# Global history search
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
# acs command → print aliases by group
aliases
# `j` to go to an already used directory by partial name
autojump
colored-man-pages
# cat with colors → ccat or cless
colorize
# commands to copy file content or absolute path to clipboard
copyfile
copypath
# cpv command which uses rsync
cp
# docker autocomplete
docker
# unique command for most archives
extract
# fuzzy finder for history, files, docker, process, etc (see fzf)
fzf-zsh-plugin
# aliases
git
# password-store autocomplete
pass
# fish-like completion as you type
zsh-autosuggestions
# fish-like syntax hightlightin as you type
zsh-syntax-highlighting
)
# Enable option stacking in autocomplete, i.e. docker run -it <TAB>
zstyle ':completion:*:*:docker:*' option-stacking yes
zstyle ':completion:*:*:docker-*:*' option-stacking yes
# Load ZSH
source $ZSH/oh-my-zsh.sh
# Preferred editor for local and remote sessions
export EDITOR=vim
# Do not print user@hostname if user is myself
DEFAULT_USER=`whoami`
# Aliases
alias cp="cpv"
alias lt='ls -lath'
# To use when .cfg contains a bare git repo.
# See this https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no
# GPG with SSH auth capabilities
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
if [ -f ~/.aliases ]; then
. ~/.aliases
fi
if [ -f ~/.env ]; then
. ~/.env
fi