dotfiles-guix/home/config/zsh/zshrc

95 lines
2.4 KiB
Bash
Raw Normal View History

2024-06-22 02:52:21 +00:00
# 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
2024-06-23 18:47:05 +00:00
PATH=$PATH:/var/lib/flatpak/exports/bin
DOCKER_HOME="$HOME/.docker"
2024-06-22 02:52:21 +00:00
# vim mode >:)
# no ryan i am not copying you
set -o vi
set show-mode-in-prompt on
# Set shell prompt using starship
2024-10-23 02:45:46 +00:00
if command -v "starship" > /dev/null; then
eval "$(starship init zsh)"
else
export PS1="$$USER: "
fi
2024-06-22 02:52:21 +00:00
2024-10-23 02:45:46 +00:00
# reconfigure aliases
2024-06-22 02:52:21 +00:00
alias reconfigure-system="sudo -E guix system -L $HOME/.config/guix/modules reconfigure $HOME/.config/guix/systems/$(hostname).scm"
2024-10-23 02:45:46 +00:00
alias reconfigure-user="guix home -L $HOME/.config/guix/modules reconfigure $HOME/.config/guix/home/home.scm"
alias reconfigure-nix="home-manager switch"
2024-06-22 02:52:21 +00:00
2024-10-23 02:45:46 +00:00
# aliases
2024-06-22 02:52:21 +00:00
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"
2024-12-06 21:30:38 +00:00
alias ssh='TERM=xterm-256color ssh' # xterm-kitty bad
2024-06-22 02:52:21 +00:00
2024-10-23 02:45:46 +00:00
# manpages
2024-06-22 02:52:21 +00:00
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
2024-10-23 02:45:46 +00:00
# enable zsh auto suggestions
autoload compinit && compinit
source $GUIX_PROFILE/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
2024-10-23 02:45:46 +00:00
source $GUIX_PROFILE/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#696e8a"
ZSH_AUTOSUGGEST_STRATEGY=(completion history)
2024-06-22 02:52:21 +00:00
2024-10-23 02:45:46 +00:00
# keybinds
2024-06-22 02:52:21 +00:00
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
2024-10-23 02:45:46 +00:00
# ranger
2024-06-22 02:52:21 +00:00
.ranger() {
ranger --choosedir=$HOME/.rangerdir < $TTY
LASTDIR=$(cat $HOME/.rangerdir)
cd "$LASTDIR"
zle reset-prompt
}
zle -N ranger .ranger
2024-11-24 05:17:05 +00:00
bindkey "^F" ranger
2024-06-22 02:52:21 +00:00
2024-10-23 02:45:46 +00:00
# gpg
2024-06-22 02:52:21 +00:00
export GPG_TTY=$(tty)
# ricing
export PF_CUSTOM_LOGOS="/home/freya/.config/zsh/pfetch_logos"
pfetch
2024-08-07 00:13:42 +00:00
PWD="$HOME"