127 lines
3.1 KiB
Bash
127 lines
3.1 KiB
Bash
# Zsh shell initalization file
|
|
|
|
# Export 'SHELL' to child processes
|
|
export SHELL
|
|
|
|
if [[ $- != *i* ]]
|
|
then
|
|
# We are being invoked from a non-interactive shell. If this
|
|
# is an SSH session (as in "ssh host command"), source
|
|
# /etc/profile so we get PATH and other essential variables.
|
|
[[ -n "$SSH_CLIENT" ]] && source /etc/profile
|
|
|
|
# Don't do anything else.
|
|
return
|
|
fi
|
|
|
|
PATH=$PATH:$HOME/.cargo/bin
|
|
PATH=$PATH:$HOME/.local/bin
|
|
PATH=$PATH:$HOME/.symfony5/bin
|
|
PATH=$PATH:$HOME/.local/share/yabridge
|
|
|
|
# vim mode >:)
|
|
# no ryan i am not copying you
|
|
set -o vi
|
|
set show-mode-in-prompt on
|
|
|
|
# Set shell prompt using starship
|
|
eval "$(starship init zsh)"
|
|
|
|
# Set other usefull aliases
|
|
alias neo="pfetch"
|
|
alias rf="rm -fr" # remove le french hon hon hon
|
|
alias config="/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME"
|
|
alias ls="ls --color=auto"
|
|
alias ip="ip --color=auto"
|
|
alias grep="grep --color=auto"
|
|
alias diff="diff --color=auto"
|
|
alias ccat="highlight --out-format=ansi"
|
|
alias vim="nvim"
|
|
alias show="kitten icat --align=left"
|
|
alias ssh="kitten ssh"
|
|
|
|
# Have manpages use colors
|
|
export LESS_TERMCAP_md=$'\e[1;36m'
|
|
export LESS_TERMCAP_me=$'\e[0m'
|
|
export LESS_TERMCAP_se=$'\e[0m'
|
|
export LESS_TERMCAP_so=$'\e[1;92m'
|
|
export LESS_TERMCAP_ue=$'\e[0m'
|
|
export LESS_TERMCAP_us=$'\e[1;35m'
|
|
export GROFF_NO_SGR=1
|
|
|
|
.reload() {
|
|
# Enable zsh auto suggestions
|
|
autoload compinit && compinit
|
|
source $HOME/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
|
|
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#696e8a"
|
|
ZSH_AUTOSUGGEST_STRATEGY=(completion history)
|
|
}
|
|
|
|
.reload
|
|
|
|
# Enable zsh keybinds for home, end, and other movement keybinds
|
|
bindkey "\e[1;5D" backward-word
|
|
bindkey "\e[1;5C" forward-word
|
|
bindkey "\e[3;5~" kill-word
|
|
bindkey "\C-_" backward-kill-word
|
|
bindkey "\e[3~" delete-char
|
|
bindkey "\e[H" beginning-of-line
|
|
bindkey "\e[F" end-of-line
|
|
bindkey "\e\d" undo
|
|
|
|
.ranger() {
|
|
ranger --choosedir=$HOME/.rangerdir < $TTY
|
|
LASTDIR=$(cat $HOME/.rangerdir)
|
|
cd "$LASTDIR"
|
|
zle reset-prompt
|
|
}
|
|
|
|
zle -N reload .reload
|
|
bindkey "^R" reload
|
|
zle -N ranger .ranger
|
|
bindkey "^F" ranger
|
|
|
|
# GPG SETUP FOR SSH
|
|
export GPG_TTY=$(tty)
|
|
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
|
|
|
# ricing
|
|
export PF_CUSTOM_LOGOS="/home/freya/.config/pfetch_logos"
|
|
|
|
_wine() {
|
|
export WINEPREFIX="$HOME/.wine$1"
|
|
export WINEARCH="win$1"
|
|
/usr/bin/wine "${@:2}"
|
|
unset WINEARCH
|
|
unset WINEPREFIX
|
|
}
|
|
|
|
alias wine32="_wine 32"
|
|
alias wine64="_wine 64"
|
|
|
|
proton() {
|
|
if [ $# -lt 1 ]; then
|
|
return
|
|
fi
|
|
export STEAM_TMP_DIR="$HOME/.local/share/Steam/steamapps/compatdata/$1"
|
|
mkdir -p "$STEAM_TMP_DIR"
|
|
export STEAM_COMPAT_DATA_PATH="$STEAM_TMP_DIR"
|
|
export STEAM_COMPAT_CLIENT_INSTALL_PATH="$STEAM_TMP_DIR"
|
|
protonenv "$1"
|
|
$HOME/.local/share/Steam/steamapps/common/Proton\ -\ Experimental/proton run ${@:2}
|
|
}
|
|
|
|
protontricks() {
|
|
if [ $# -lt 1 ]; then
|
|
return
|
|
fi
|
|
export STEAM_TMP_DIR="$HOME/.local/share/Steam/steamapps/compatdata/$1"
|
|
mkdir -p "$STEAM_TMP_DIR"
|
|
export WINEPREFIX="$STEAM_TMP_DIR"
|
|
winetricks ${@:2}
|
|
}
|
|
|
|
pfetch
|
|
|
|
PWD="$HOME"
|