diff options
Diffstat (limited to 'home/config/zsh/zshrc')
-rw-r--r-- | home/config/zsh/zshrc | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/home/config/zsh/zshrc b/home/config/zsh/zshrc new file mode 100644 index 0000000..29917c9 --- /dev/null +++ b/home/config/zsh/zshrc @@ -0,0 +1,95 @@ +# 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 + +# 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 guix reconfigure aliases +alias reconfigure-system="sudo -E guix system -L $HOME/.config/guix/modules reconfigure $HOME/.config/guix/systems/$(hostname).scm" +alias reconfigure-user="guix home -L $HOME/.config/guix/modules reconfigure $HOME/.config/guix/home/home.scm && home-manager switch" + +# Set other usefull aliases +alias neo="pfetch" +alias rf="rm -fr" # remove le french hon hon hon +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 $GUIX_PROFILE/share/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh + source $GUIX_PROFILE/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" range + +# 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/zsh/pfetch_logos" + +export WINEARCH=win32 +export WINEPREFIX=/home/freya/.wine + +pfetch |