2023-04-06 09:02:46 -05:00
|
|
|
# set up environment
|
|
|
|
export PURE_GIT_PULL=0
|
|
|
|
export GPG_TTY=$(tty)
|
2023-04-10 17:47:48 -05:00
|
|
|
export HISTSIZE=100000
|
|
|
|
export HISTFILE="$HOME/.zsh_history"
|
|
|
|
export SAVEHIST=$HISTSIZE
|
2023-04-06 09:02:46 -05:00
|
|
|
|
2023-04-06 09:09:15 -05:00
|
|
|
# set zsh options and features
|
2023-04-06 09:02:46 -05:00
|
|
|
setopt autocd
|
2023-04-06 09:09:15 -05:00
|
|
|
autoload -Uz compinit && compinit
|
2023-04-10 17:47:48 -05:00
|
|
|
setopt extended_history
|
|
|
|
setopt inc_append_history
|
|
|
|
setopt share_history
|
2024-04-05 12:24:01 -05:00
|
|
|
setopt rmstarsilent
|
2023-04-06 09:02:46 -05:00
|
|
|
|
|
|
|
# load zsh plugins
|
|
|
|
[ -f "$HOME/.local/share/zap/zap.zsh" ] && source "$HOME/.local/share/zap/zap.zsh"
|
|
|
|
|
2024-04-25 16:04:51 -05:00
|
|
|
function zvm_after_init() {
|
|
|
|
plug "zap-zsh/fzf"
|
|
|
|
typeset -A key
|
|
|
|
key[Home]=${terminfo[khome]}
|
|
|
|
key[End]=${terminfo[kend]}
|
|
|
|
key[Delete]=${terminfo[kdch1]}
|
|
|
|
zvm_bindkey viins "${key[Home]}" beginning-of-line
|
|
|
|
zvm_bindkey vicmd "${key[Home]}" beginning-of-line
|
|
|
|
zvm_bindkey viins "${key[End]}" end-of-line
|
|
|
|
zvm_bindkey vicmd "${key[End]}" end-of-line
|
|
|
|
zvm_bindkey viins "${key[Delete]}" delete-char
|
|
|
|
zvm_bindkey vicmd "${key[Delete]}" delete-char
|
|
|
|
}
|
|
|
|
|
2023-04-06 09:02:46 -05:00
|
|
|
plug "mafredri/zsh-async"
|
|
|
|
plug "sindresorhus/pure"
|
|
|
|
plug "zsh-users/zsh-autosuggestions"
|
|
|
|
plug "zsh-users/zsh-syntax-highlighting"
|
2023-09-18 11:04:30 -05:00
|
|
|
plug "zpm-zsh/ls"
|
2024-05-22 11:47:13 -05:00
|
|
|
ZAP_GIT_PREFIX="https://code.sitosis.com/" plug "rudism/zsh-bat"
|
2023-04-23 13:45:16 -05:00
|
|
|
plug "lukechilds/zsh-nvm"
|
2024-04-25 14:20:49 -05:00
|
|
|
plug "jeffreytse/zsh-vi-mode"
|
2023-04-06 09:02:46 -05:00
|
|
|
|
|
|
|
# source external stuff
|
|
|
|
eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
|
|
|
|
source ~/skynet/zsh/catppuccin_mocha-zsh-syntax-highlighting.zsh
|
2023-04-06 10:44:47 -05:00
|
|
|
source ~/skynet/zsh/zsh-grc
|
2023-04-06 09:02:46 -05:00
|
|
|
|
2024-05-15 13:34:29 -05:00
|
|
|
# env and path
|
|
|
|
export DOTNET_ROOT=$HOME/dotnet
|
|
|
|
export MOZ_ENABLE_WAYLAND=1
|
|
|
|
export QT_QPA_PLATFORMTHEME=qt6ct
|
|
|
|
export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH
|
|
|
|
export PATH=$HOME/.local/bin:$HOME/dotnet:$HOME/.dotnet/tools:$HOME/go/bin:$HOME/.cargo/bin:$HOME/node/node_modules/.bin:$PATH
|
|
|
|
|
2023-04-10 17:47:48 -05:00
|
|
|
# keybindings
|
2023-04-14 15:51:28 -05:00
|
|
|
bindkey "^[[1~" beginning-of-line
|
|
|
|
bindkey "^[[4~" end-of-line
|
2023-04-10 17:47:48 -05:00
|
|
|
bindkey "^[[3~" delete-char
|
|
|
|
|
2023-04-06 09:02:46 -05:00
|
|
|
# set up directory hashes
|
2023-04-06 10:44:47 -05:00
|
|
|
if [ -f ~/.zalias ]; then
|
|
|
|
source ~/.zalias
|
|
|
|
fi
|
2023-06-19 15:46:25 -05:00
|
|
|
|
|
|
|
if [ -d "$HOME/.config/plasma-workspace/env" ]; then
|
|
|
|
for sh in $HOME/.config/plasma-workspace/env/*.sh; do
|
|
|
|
source "$sh"
|
|
|
|
done
|
|
|
|
fi
|
2023-09-09 09:48:00 -05:00
|
|
|
|
|
|
|
# load tmux if it exists and we're not in it
|
|
|
|
if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ linux ]] && [ -z "$TMUX" ]; then
|
|
|
|
exec tmux
|
|
|
|
fi
|