dotfiles/zsh/.zshenv

115 lines
3.3 KiB
Bash

# PATH variable declaration as array
# -U means unique, which tells the shell not to add anything to the array if it's
# already there.
typeset -U PATH path
# Add /usr/local dirs to PATH
path=("/usr/local/bin" "/usr/local/sbin")
path+=("/bin" "/sbin" "/usr/bin" "/usr/sbin")
# Set Go path if it exist
[ -d "${HOME}/go" ] && GOPATH="${HOME}/go" && path+=("${GOPATH}/bin")
# Set Cargo path for Rust binaries
[ -d "${HOME}/.cargo/bin" ] && path+=("${HOME}/.cargo/bin")
# If ~/bin exists, add it to PATH
[ -d "${HOME}/bin" ] && path+=("${HOME}/bin")
# If ~/.local/bin exists, add it to path
[ -d "${HOME}/.local/bin" ] && path+=("${HOME}/.local/bin")
export PATH
# Setup pager
export PAGER="less -X"
# Setup manpages
export MANWIDTH="88"
export MANROFFOPT="-c"
export MANPAGER="less -X"
# Have less display colours
# from: https://wiki.archlinux.org/index.php/Color_output_in_console#man
export LESS_TERMCAP_mb=$'\e[1;31m' # begin bold
export LESS_TERMCAP_md=$'\e[1;34m' # begin blink
export LESS_TERMCAP_so=$'\e[01;0;33m' # begin reverse video
export LESS_TERMCAP_us=$'\e[01;31m' # begin underline
export LESS_TERMCAP_me=$'\e[0m' # reset bold/blink
export LESS_TERMCAP_se=$'\e[0m' # reset reverse video
export LESS_TERMCAP_ue=$'\e[0m' # reset underline
export GROFF_NO_SGR=1 # for konsole and gnome-terminal
# Editor - emacs else nano
if test -x "$(command -v emacs)"; then
EDITOR="emacs"
else
EDITOR=nano
fi
export EDITOR
# Set TERM if in tmux
if (( ${+TMUX} )); then
export TERM="screen-256color"
else
export TERM="xterm-256color"
fi
# Directory for elogs
if test -d "${HOME}/Nextcloud/elogs"; then
export ELOG_DIR="${HOME}/Nextcloud/elogs"
fi
# Format of process time reports with 'time'
# %% A '%'
# %U CPU seconds spent in user mode
# %S CPU seconds spent in kernel mode
# %E Elapsed time in seconds
# %P CPU percentage, computed as (%U+%S)/%E
# %J The name of this job
# Default is:
# %E real %U user %S system %P %J
TIMEFMT="\
The name of this job : %J
CPU seconds spent in user mode : %U
CPU seconds spent in kernel mode : %S
Elapsed time in seconds : %E
CPU percentage : %P"
# HISTSIZE is the number of lines of history that is kept within any given
# running zsh instance. SAVEHIST is the number of lines of history that is
# written out to the HISTFILE when that event occurs. If you use the
# HIST_EXPIRE_DUPS_FIRST option, setting this value larger than the SAVEHIST
# size will give you the difference as a cushion for saving duplicated history
# events.
HISTSIZE=100000
SAVEHIST=65536
# Name of the file used to store command history
HISTFILE=~/.zsh_history
# If nonnegative, commands whose combined user and system execution times
# (measured in seconds) are greater than this value have timing stats printed
# for them.
REPORTTIME=10
# reply-to email address
export REPLYTO="hyperreal@fedoraproject.org"
# Language
export LANG="en_US.UTF-8"
# Manpages
export MANPATH="${MANPATH:-/usr/share/man:/usr/local/share/man}"
if [ -d "${HOME}/.fzf/man" ]; then
export MANPATH="${MANPATH}:${HOME}/.fzf/man"
fi
# Bat theme
export BAT_THEME="Catppuccin"
# Automatically remove duplicates from these arrays
typeset -gU path cdpath manpath fpath