161 lines
3.8 KiB
Bash
161 lines
3.8 KiB
Bash
export TERM=xterm-256color
|
|
|
|
export XDG_DOWNLOAD_DIR="$HOME/downloads"
|
|
export XDG_PROJECTS_DIR="$HOME/programming"
|
|
|
|
export XDG_DESKTOP_DIR="$HOME"
|
|
export XDG_DOCUMENTS_DIR="$HOME/documents"
|
|
export XDG_MUSIC_DIR="$HOME/media"
|
|
export XDG_PICTURES_DIR="$HOME/media"
|
|
export XDG_PUBLICSHARE_DIR="$HOME/media"
|
|
export XDG_TEMPLATES_DIR="$HOME/media"
|
|
export XDG_VIDEOS_DIR="$HOME/media"
|
|
|
|
export EDITOR=nvim
|
|
export SUDO_EDITOR=nvim
|
|
|
|
export GOPATH="$HOME/.local/go"
|
|
|
|
export PATH="$HOME/.local/bin:$HOME/.local/go/bin:$HOME/opt/bin:$HOME/.cargo/bin:$PATH"
|
|
export LD_LIBRARY_PATH="$HOME/opt/lib:${LD_LIBRARY_PATH:-}"
|
|
|
|
ZAP_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/zap"
|
|
[ -f "$ZAP_DIR/zap.zsh" ] && source "$ZAP_DIR/zap.zsh"
|
|
|
|
[ -f "$HOME/.zprofile" ] && source "$HOME/.zprofile"
|
|
|
|
if [ -x /home/linuxbrew/.linuxbrew/bin/brew ]; then
|
|
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
|
fi
|
|
|
|
HISTFILE="${ZDOTDIR:-$HOME}/.zsh_history"
|
|
HISTSIZE=50000
|
|
SAVEHIST=50000
|
|
|
|
setopt APPEND_HISTORY
|
|
setopt INC_APPEND_HISTORY
|
|
setopt SHARE_HISTORY
|
|
|
|
setopt EXTENDED_HISTORY
|
|
setopt BANG_HIST
|
|
setopt HIST_EXPIRE_DUPS_FIRST
|
|
setopt HIST_IGNORE_DUPS
|
|
setopt HIST_IGNORE_ALL_DUPS
|
|
setopt HIST_FIND_NO_DUPS
|
|
setopt HIST_IGNORE_SPACE
|
|
setopt HIST_SAVE_NO_DUPS
|
|
setopt HIST_REDUCE_BLANKS
|
|
setopt HIST_VERIFY
|
|
|
|
setopt AUTO_CD
|
|
setopt AUTO_PARAM_SLASH
|
|
setopt GLOB_DOTS
|
|
setopt EXTENDED_GLOB
|
|
setopt INTERACTIVE_COMMENTS
|
|
setopt MENU_COMPLETE
|
|
setopt NOMATCH
|
|
unsetopt BEEP
|
|
|
|
autoload -Uz compinit colors bashcompinit
|
|
zmodload zsh/complist
|
|
|
|
zstyle ':completion:*' menu yes select
|
|
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=*'
|
|
_comp_options+=(globdots)
|
|
zle_highlight=('paste:none')
|
|
|
|
if [[ -f "${ZDOTDIR:-$HOME}/.zcompdump" ]]; then
|
|
compinit -C
|
|
else
|
|
compinit
|
|
fi
|
|
|
|
bashcompinit
|
|
|
|
autoload -Uz colors && colors
|
|
PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
|
|
|
|
bindkey -e
|
|
bindkey -s '^x' '^usource $ZSHRC\n'
|
|
bindkey -M menuselect '?' history-incremental-search-forward
|
|
bindkey -M menuselect '/' history-incremental-search-backward
|
|
bindkey '^H' backward-kill-word
|
|
|
|
autoload -U up-line-or-beginning-search
|
|
autoload -U down-line-or-beginning-search
|
|
zle -N up-line-or-beginning-search
|
|
zle -N down-line-or-beginning-search
|
|
|
|
alias cat='bat'
|
|
alias gg='lazygit'
|
|
alias v='nvim'
|
|
alias cp='cp -v'
|
|
|
|
take() {
|
|
mkdir -p -- "$1" && cd -- "$1"
|
|
}
|
|
|
|
copy() {
|
|
xclip -sel c 2>/dev/null
|
|
}
|
|
|
|
if (( $+commands[eza] )); then
|
|
alias ls='eza --group-directories-first --icons=auto'
|
|
if eza --version | grep -q '+git'; then
|
|
alias ll='ls -lh --git'
|
|
else
|
|
alias ll='ls -lh'
|
|
fi
|
|
alias la='ll -a'
|
|
alias tree='ll --tree --level=2'
|
|
else
|
|
alias ls='ls --group-directories-first'
|
|
alias ll='ls -lh'
|
|
alias la='ll -a'
|
|
fi
|
|
|
|
if ! command -v zap >/dev/null 2>&1; then
|
|
printf 'Installing zap (release-v1)...\n'
|
|
zsh <(curl -s https://raw.githubusercontent.com/zap-zsh/zap/master/install.zsh) --keep --branch release-v1
|
|
if [ -f "${ZDOTDIR:-$HOME}/.zshrc" ]; then
|
|
source "${ZDOTDIR:-$HOME}/.zshrc"
|
|
fi
|
|
fi
|
|
|
|
autoload -Uz plug
|
|
plug "zsh-users/zsh-autosuggestions"
|
|
plug "zsh-users/zsh-syntax-highlighting"
|
|
plug "Aloxaf/fzf-tab"
|
|
|
|
: "${XDG_DATA_HOME:=$HOME/.local/share}"
|
|
: "${XDG_CONFIG_HOME:=$HOME/.config}"
|
|
|
|
typeset -A theme=(
|
|
['4;0']='#000000'
|
|
['4;1']='#b83019'
|
|
['4;2']='#51bf37'
|
|
['4;3']='#c6c43d'
|
|
['4;4']='#0c24bf'
|
|
['4;5']='#b93ec1'
|
|
['4;6']='#53c2c5'
|
|
['4;7']='#c7c7c7'
|
|
['4;8']='#676767'
|
|
['4;9']='#ef766d'
|
|
['4;10']='#8cf67a'
|
|
['4;11']='#fefb7e'
|
|
['4;12']='#6a71f6'
|
|
['4;13']='#f07ef8'
|
|
['4;14']='#8ef9fd'
|
|
['4;15']='#feffff'
|
|
['10']='#f7f7f7'
|
|
['11']='#000000'
|
|
['12']='#c7c7c7'
|
|
['17']='#c6dcfc'
|
|
['19']='#000000'
|
|
)
|
|
|
|
# https://github.com/bahamas10/ysap/blob/7f12f701a04d46488af6347b159b581e5b07d83e/website/make-theme
|
|
for code color in ${(kv)theme}; do
|
|
printf '\e]%s;%s\e\\' "$code" "$color"
|
|
done
|