- Change kitty shell to fish since default garuda shell is zsh - Add xinitrc used by garuda to dotfiles - Replace my zshrc with garuda's
191 lines
7.4 KiB
Bash
191 lines
7.4 KiB
Bash
# If you come from bash you might have to change your $PATH.
|
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
|
|
|
# Set $PATH if ~/.local/bin exist
|
|
if [ -d "$HOME/.local/bin" ]; then
|
|
export PATH=$HOME/.local/bin:$PATH
|
|
fi
|
|
|
|
eval "$(starship init zsh)"
|
|
function set_win_title(){
|
|
echo -ne "\033]0; $USER@$HOST:${PWD/$HOME/~} \007"
|
|
}
|
|
precmd_functions+=(set_win_title)
|
|
|
|
## Plugins section: Enable fish style features
|
|
# Use syntax highlighting
|
|
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
|
|
# Use autosuggestion
|
|
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
|
|
|
# Use history substring search
|
|
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
|
|
|
|
# Use fzf
|
|
source /usr/share/fzf/key-bindings.zsh
|
|
source /usr/share/fzf/completion.zsh
|
|
|
|
# Arch Linux command-not-found support, you must have package pkgfile installed
|
|
# https://wiki.archlinux.org/index.php/Pkgfile#.22Command_not_found.22_hook
|
|
[[ -e /usr/share/doc/pkgfile/command-not-found.zsh ]] && source /usr/share/doc/pkgfile/command-not-found.zsh
|
|
|
|
|
|
## Options section
|
|
setopt correct # Auto correct mistakes
|
|
setopt extendedglob # Extended globbing. Allows using regular expressions with *
|
|
setopt nocaseglob # Case insensitive globbing
|
|
setopt rcexpandparam # Array expension with parameters
|
|
setopt nocheckjobs # Don't warn about running processes when exiting
|
|
setopt numericglobsort # Sort filenames numerically when it makes sense
|
|
setopt nobeep # No beep
|
|
setopt appendhistory # Immediately append history instead of overwriting
|
|
setopt histignorealldups # If a new command is a duplicate, remove the older one
|
|
setopt autocd # if only directory path is entered, cd there.
|
|
setopt auto_pushd
|
|
setopt pushd_ignore_dups
|
|
setopt pushdminus
|
|
|
|
# Completion.
|
|
autoload -Uz compinit
|
|
compinit
|
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # Case insensitive tab completion
|
|
zstyle ':completion:*' rehash true # automatically find new executables in path
|
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Colored completion (different colors for dirs/files/etc)
|
|
zstyle ':completion:*' completer _expand _complete _ignored _approximate
|
|
zstyle ':completion:*' menu select=2
|
|
zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s'
|
|
zstyle ':completion:*:descriptions' format '%U%F{cyan}%d%f%u'
|
|
|
|
# Speed up completions
|
|
zstyle ':completion:*' accept-exact '*(N)'
|
|
zstyle ':completion:*' use-cache on
|
|
zstyle ':completion:*' cache-path ~/.cache/zcache
|
|
|
|
# automatically load bash completion functions
|
|
autoload -U +X bashcompinit && bashcompinit
|
|
|
|
HISTFILE=~/.zhistory
|
|
HISTSIZE=50000
|
|
SAVEHIST=10000
|
|
|
|
|
|
## Keys
|
|
# Use emacs key bindings
|
|
bindkey -e
|
|
|
|
# [PageUp] - Up a line of history
|
|
if [[ -n "${terminfo[kpp]}" ]]; then
|
|
bindkey -M emacs "${terminfo[kpp]}" up-line-or-history
|
|
bindkey -M viins "${terminfo[kpp]}" up-line-or-history
|
|
bindkey -M vicmd "${terminfo[kpp]}" up-line-or-history
|
|
fi
|
|
# [PageDown] - Down a line of history
|
|
if [[ -n "${terminfo[knp]}" ]]; then
|
|
bindkey -M emacs "${terminfo[knp]}" down-line-or-history
|
|
bindkey -M viins "${terminfo[knp]}" down-line-or-history
|
|
bindkey -M vicmd "${terminfo[knp]}" down-line-or-history
|
|
fi
|
|
|
|
# Start typing + [Up-Arrow] - fuzzy find history forward
|
|
if [[ -n "${terminfo[kcuu1]}" ]]; then
|
|
autoload -U up-line-or-beginning-search
|
|
zle -N up-line-or-beginning-search
|
|
|
|
bindkey -M emacs "${terminfo[kcuu1]}" up-line-or-beginning-search
|
|
bindkey -M viins "${terminfo[kcuu1]}" up-line-or-beginning-search
|
|
bindkey -M vicmd "${terminfo[kcuu1]}" up-line-or-beginning-search
|
|
fi
|
|
# Start typing + [Down-Arrow] - fuzzy find history backward
|
|
if [[ -n "${terminfo[kcud1]}" ]]; then
|
|
autoload -U down-line-or-beginning-search
|
|
zle -N down-line-or-beginning-search
|
|
|
|
bindkey -M emacs "${terminfo[kcud1]}" down-line-or-beginning-search
|
|
bindkey -M viins "${terminfo[kcud1]}" down-line-or-beginning-search
|
|
bindkey -M vicmd "${terminfo[kcud1]}" down-line-or-beginning-search
|
|
fi
|
|
|
|
# [Home] - Go to beginning of line
|
|
if [[ -n "${terminfo[khome]}" ]]; then
|
|
bindkey -M emacs "${terminfo[khome]}" beginning-of-line
|
|
bindkey -M viins "${terminfo[khome]}" beginning-of-line
|
|
bindkey -M vicmd "${terminfo[khome]}" beginning-of-line
|
|
fi
|
|
# [End] - Go to end of line
|
|
if [[ -n "${terminfo[kend]}" ]]; then
|
|
bindkey -M emacs "${terminfo[kend]}" end-of-line
|
|
bindkey -M viins "${terminfo[kend]}" end-of-line
|
|
bindkey -M vicmd "${terminfo[kend]}" end-of-line
|
|
fi
|
|
|
|
# [Shift-Tab] - move through the completion menu backwards
|
|
if [[ -n "${terminfo[kcbt]}" ]]; then
|
|
bindkey -M emacs "${terminfo[kcbt]}" reverse-menu-complete
|
|
bindkey -M viins "${terminfo[kcbt]}" reverse-menu-complete
|
|
bindkey -M vicmd "${terminfo[kcbt]}" reverse-menu-complete
|
|
fi
|
|
|
|
# [Backspace] - delete backward
|
|
bindkey -M emacs '^?' backward-delete-char
|
|
bindkey -M viins '^?' backward-delete-char
|
|
bindkey -M vicmd '^?' backward-delete-char
|
|
# [Delete] - delete forward
|
|
if [[ -n "${terminfo[kdch1]}" ]]; then
|
|
bindkey -M emacs "${terminfo[kdch1]}" delete-char
|
|
bindkey -M viins "${terminfo[kdch1]}" delete-char
|
|
bindkey -M vicmd "${terminfo[kdch1]}" delete-char
|
|
else
|
|
bindkey -M emacs "^[[3~" delete-char
|
|
bindkey -M viins "^[[3~" delete-char
|
|
bindkey -M vicmd "^[[3~" delete-char
|
|
|
|
bindkey -M emacs "^[3;5~" delete-char
|
|
bindkey -M viins "^[3;5~" delete-char
|
|
bindkey -M vicmd "^[3;5~" delete-char
|
|
fi
|
|
|
|
# Common use aliases
|
|
alias aup="pamac upgrade --aur"
|
|
alias grubup="sudo update-grub"
|
|
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
|
alias tarnow='tar -acf '
|
|
alias untar='tar -zxvf '
|
|
alias wget='wget -c '
|
|
alias psmem='ps auxf | sort -nr -k 4'
|
|
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
|
|
alias ..='cd ..'
|
|
alias ...='cd ../..'
|
|
alias ....='cd ../../..'
|
|
alias .....='cd ../../../..'
|
|
alias ......='cd ../../../../..'
|
|
alias dir='dir --color=auto'
|
|
alias vdir='vdir --color=auto'
|
|
alias grep='grep --color=auto'
|
|
alias fgrep='fgrep --color=auto'
|
|
alias egrep='egrep --color=auto'
|
|
alias hw='hwinfo --short' # Hardware Info
|
|
alias gitpkg='pacman -Q | grep -i "\-git" | wc -l' # List amount of -git packages
|
|
|
|
# Get fastest mirrors
|
|
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
|
|
alias mirrord="sudo reflector --latest 50 --number 20 --sort delay --save /etc/pacman.d/mirrorlist"
|
|
alias mirrors="sudo reflector --latest 50 --number 20 --sort score --save /etc/pacman.d/mirrorlist"
|
|
alias mirrora="sudo reflector --latest 50 --number 20 --sort age --save /etc/pacman.d/mirrorlist"
|
|
|
|
# Help people new to Arch
|
|
alias apt='man pacman'
|
|
alias apt-get='man pacman'
|
|
alias please='sudo'
|
|
alias tb='nc termbin.com 9999'
|
|
|
|
# Replace yay with paru if installed
|
|
[ ! -x /usr/bin/yay ] && [ -x /usr/bin/paru ] && alias yay='paru'
|
|
|
|
# Set your countries like --country France --country Germany -- or more.
|
|
alias upd='sudo reflector --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist && sudo pacman -Syu && sudo updatedb'
|
|
|
|
|
|
## Run paleofetch
|
|
paleofetch
|