nix-config/dotfiles/.zshrc
2018-01-04 23:52:18 -05:00

74 lines
2.7 KiB
Bash

##################################################################################
#
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2017 Donovan Glover
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
##################################################################################
export VISUAL="nvim"
export EDITOR="nvim"
export BROWSER="waterfox"
# Use rg instead of ag / ack / grep for fzf (much faster)
export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"'
# Required to make gpg-agent work in cases like git commit
export GPG_TTY=$(tty)
# Autosuggest commands in the terminal
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
export PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH" # Add ruby gems to $PATH
# Add custom software to $PATH
export PATH="$HOME/.local/bin:$PATH"
export PATH="$HOME/Home/new-start/bin:$PATH"
export FZF_DEFAULT_OPTS='--height 40% --reverse --border --color=16'
autoload -Uz compinit && compinit
autoload -Uz promptinit && promptinit
autoload -Uz vcs_info
# Add my own custom prompt, simple and minimal
prompt off
PROMPT="%F{magenta}%1~%f %B%F{red}➤%F{green}➤%F{blue}➤%f%b "
# Ignore cached commands (finds new ones without restarting the terminal)
zstyle ':completion:*' rehash true
# Never prompt for a huge list, page it
zstyle ':completion:*:default' list-prompt '%S%M matches%s'
# Make the list a menu that you can go through
zstyle ':completion:*:default' menu 'select=0'
# Color code tab completion
zstyle ':completion:*' list-colors "=(#b) #([0-9]#)*=36=31"
# Source our aliases first, then our functions (some functions rely on aliases)
source ~/.zsh/aliases.zsh
source ~/.zsh/functions.zsh
# Source our dircolors
eval "$(dircolors ~/.dircolors)"
# Use our dircolors for the autocompletion feature of zsh so everything looks consistent
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
# Add syntax highlighting to zsh
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh