mirror of
https://github.com/The-Repo-Club/DotFiles.git
synced 2025-02-20 03:13:23 -05:00
328 lines
10 KiB
Bash
328 lines
10 KiB
Bash
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
|
# Initialization code that may require console input (password prompts, [y/n]
|
|
# confirmations, etc.) must go above this block; everything else may go below.
|
|
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
|
fi
|
|
|
|
# If you come from bash you might have to change your $PATH.
|
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
|
|
|
# Uncomment the following line to use case-sensitive completion.
|
|
CASE_SENSITIVE="true"
|
|
|
|
# Uncomment the following line to use hyphen-insensitive completion.
|
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
|
# HYPHEN_INSENSITIVE="true"
|
|
|
|
# Uncomment the following line to disable bi-weekly auto-update checks.
|
|
# DISABLE_AUTO_UPDATE="true"
|
|
|
|
# Uncomment the following line to automatically update without prompting.
|
|
# DISABLE_UPDATE_PROMPT="true"
|
|
|
|
# Uncomment the following line to change how often to auto-update (in days).
|
|
export UPDATE_ZSH_DAYS=13
|
|
|
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
|
# DISABLE_MAGIC_FUNCTIONS=true
|
|
|
|
# Uncomment the following line to disable colors in ls.
|
|
# DISABLE_LS_COLORS="true"
|
|
|
|
# Uncomment the following line to disable auto-setting terminal title.
|
|
# DISABLE_AUTO_TITLE="true"
|
|
|
|
# Uncomment the following line to enable command auto-correction.
|
|
ENABLE_CORRECTION="true"
|
|
|
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
|
# COMPLETION_WAITING_DOTS="true"
|
|
|
|
# Uncomment the following line if you want to disable marking untracked files
|
|
# under VCS as dirty. This makes repository status check for large repositories
|
|
# much, much faster.
|
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
|
|
|
# Uncomment the following line if you want to change the command execution time
|
|
# stamp shown in the history command output.
|
|
# You can set one of the optional three formats:
|
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
|
# or set a custom format using the strftime function format specifications,
|
|
# see 'man strftime' for details.
|
|
HIST_STAMPS="mm/dd/yyyy"
|
|
|
|
# Would you like to use another custom folder than $ZSH/custom?
|
|
export CUSTOM_ZSH=/usr/share/zsh
|
|
|
|
source $CUSTOM_ZSH/themes/powerlevel10k/powerlevel10k.zsh-theme
|
|
|
|
# Which plugins would you like to load?
|
|
source $CUSTOM_ZSH/plugins/git/git.plugin.zsh
|
|
source $CUSTOM_ZSH/plugins/sudo/sudo.plugin.zsh
|
|
source $CUSTOM_ZSH/plugins/rsync/rsync.plugin.zsh
|
|
|
|
source $CUSTOM_ZSH/plugins/zsh-you-should-use/you-should-use.plugin.zsh
|
|
source $CUSTOM_ZSH/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh
|
|
source $CUSTOM_ZSH/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh
|
|
|
|
# User configuration
|
|
|
|
# export MANPATH="/usr/local/man:$MANPATH"
|
|
|
|
# You may need to manually set your language environment
|
|
# export LANG=en_US.UTF-8
|
|
|
|
# Compilation flags
|
|
# export ARCHFLAGS="-arch x86_64"
|
|
|
|
|
|
#### ARCOLINUX SETTINGS ####
|
|
setopt GLOB_DOTS
|
|
|
|
# If not running interactively, don't do anything
|
|
[[ $- != *i* ]] && return
|
|
|
|
export HISTCONTROL=ignoreboth:erasedups
|
|
|
|
#PS1='[\u@\h \W]\$ '
|
|
|
|
if [ -d "$HOME/.bin" ] ;
|
|
then PATH="$HOME/.bin:$PATH"
|
|
fi
|
|
|
|
if [ -d "$HOME/.local/bin" ] ;
|
|
then PATH="$HOME/.local/bin:$PATH"
|
|
fi
|
|
|
|
#list
|
|
alias l='lsd'
|
|
alias ls='lsd'
|
|
alias la='ls -a'
|
|
alias ll='ls -l'
|
|
alias lla='ls -la'
|
|
alias lt='ls --tree'
|
|
alias l.="ls -A | egrep '^\.'"
|
|
|
|
#fix obvious typo's
|
|
alias cd..='cd ..'
|
|
alias pdw="pwd"
|
|
alias udpate='sudo pacman -Syyu'
|
|
alias upate='sudo pacman -Syyu'
|
|
|
|
## Colorize the grep command output for ease of use (good for log files)##
|
|
alias grep='grep --color=auto'
|
|
alias egrep='egrep --color=auto'
|
|
alias fgrep='fgrep --color=auto'
|
|
|
|
#readable output
|
|
alias df='df -h'
|
|
|
|
#pacman unlock
|
|
alias unlock="sudo rm /var/lib/pacman/db.lck"
|
|
|
|
#free
|
|
alias free="free -mt"
|
|
|
|
#use all cores
|
|
alias uac="sh ~/.bin/main/000*"
|
|
|
|
#continue download
|
|
alias wget="wget -c"
|
|
|
|
#userlist
|
|
alias userlist="cut -d: -f1 /etc/passwd"
|
|
|
|
#merge new settings
|
|
alias merge="xrdb -merge ~/.Xresources"
|
|
|
|
# Aliases for software managment
|
|
# pacman or pm
|
|
alias pacman='sudo pacman --color auto'
|
|
alias update='sudo pacman -Syyu'
|
|
|
|
# yay as aur helper - updates everything
|
|
alias pksyua="yay -Syu --noconfirm"
|
|
alias upall="yay -Syu --noconfirm"
|
|
|
|
#ps
|
|
alias psa="ps auxf"
|
|
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
|
|
|
|
#grub update
|
|
alias update-grub="sudo grub-mkconfig -o /boot/grub/grub.cfg"
|
|
|
|
#add new fonts
|
|
alias update-fc='sudo fc-cache -fv'
|
|
|
|
#switch between bash and zsh
|
|
alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'"
|
|
alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'"
|
|
|
|
#quickly kill conkies
|
|
alias kc='killall conky'
|
|
|
|
#hardware info --short
|
|
alias hw="hwinfo --short"
|
|
|
|
#skip integrity check
|
|
alias yayskip='yay -S --mflags --skipinteg'
|
|
|
|
#check vulnerabilities microcode
|
|
alias microcode='grep . /sys/devices/system/cpu/vulnerabilities/*'
|
|
|
|
|
|
#mounting the folder Public for exchange between host and guest on virtualbox
|
|
alias vbm="sudo mount -t vboxsf -o rw,uid=1000,gid=1000 Public /home/$USER/Public"
|
|
|
|
#youtube-dl
|
|
alias yta-aac="youtube-dl --extract-audio --audio-format aac "
|
|
alias yta-best="youtube-dl --extract-audio --audio-format best "
|
|
alias yta-flac="youtube-dl --extract-audio --audio-format flac "
|
|
alias yta-m4a="youtube-dl --extract-audio --audio-format m4a "
|
|
alias yta-mp3="youtube-dl --extract-audio --audio-format mp3 "
|
|
alias yta-opus="youtube-dl --extract-audio --audio-format opus "
|
|
alias yta-vorbis="youtube-dl --extract-audio --audio-format vorbis "
|
|
alias yta-wav="youtube-dl --extract-audio --audio-format wav "
|
|
|
|
alias ytv-best="youtube-dl -f bestvideo+bestaudio "
|
|
|
|
#Recent Installed Packages
|
|
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
|
|
alias riplong="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -3000 | nl"
|
|
|
|
#Cleanup orphaned packages
|
|
alias cleanup='sudo pacman -Rns $(pacman -Qtdq)'
|
|
|
|
#get the error messages from journalctl
|
|
alias jctl="journalctl -p 3 -xb"
|
|
|
|
#nano for important configration files
|
|
#know what you do in these files
|
|
alias npacman="sudo nano /etc/pacman.conf"
|
|
alias ngrub="sudo nano /etc/default/grub"
|
|
alias nmirrorlist="sudo nano /etc/pacman.d/mirrorlist"
|
|
alias nconfgrub="sudo nano /boot/grub/grub.cfg"
|
|
|
|
#gpg
|
|
#verify signature for isos
|
|
alias gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify"
|
|
#receive the key of a developer
|
|
alias gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys"
|
|
|
|
#shutdown or reboot
|
|
alias ssn="sudo shutdown now"
|
|
alias sr="sudo reboot"
|
|
|
|
#clear then run cynfetch
|
|
alias clear="clear && zsh"
|
|
|
|
#check aur and arch packages
|
|
alias checkarch="pacman -Qqetn > package_list.txt"
|
|
alias checkaur="pacman -Qqetm > package_list_aur.txt"
|
|
|
|
# Alias definitions.
|
|
# You may want to put all your additions into a separate file like
|
|
# ~/.bash_aliases, instead of adding them here directly.
|
|
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
|
[[ -f ~/.bash_aliases ]] && source ~/.bash_aliases
|
|
|
|
# # ex = EXtractor for all kinds of archives
|
|
# # usage: ex <file>
|
|
ex ()
|
|
{
|
|
if [ -f $1 ] ; then
|
|
case $1 in
|
|
*.tar.bz2) tar xjf $1 ;;
|
|
*.tar.gz) tar xzf $1 ;;
|
|
*.bz2) bunzip2 $1 ;;
|
|
*.rar) unrar x $1 ;;
|
|
*.gz) gunzip $1 ;;
|
|
*.tar) tar xf $1 ;;
|
|
*.tbz2) tar xjf $1 ;;
|
|
*.tgz) tar xzf $1 ;;
|
|
*.zip) unzip $1 ;;
|
|
*.Z) uncompress $1;;
|
|
*.7z) 7z x $1 ;;
|
|
*.deb) ar x $1 ;;
|
|
*.tar.xz) tar xf $1 ;;
|
|
*) echo "'$1' cannot be extracted via ex()" ;;
|
|
esac
|
|
else
|
|
echo "'$1' is not a valid file"
|
|
fi
|
|
}
|
|
|
|
#create a file called .zshrc-personal and put all your personal aliases
|
|
#in there. They will not be overwritten by skel.
|
|
|
|
[[ -f ~/.zshrc-personal ]] && source ~/.zshrc-personal
|
|
|
|
cynfetch --birthday 16/06
|
|
|
|
HISTFILE=~/.zsh_history
|
|
HISTSIZE=10000
|
|
SAVEHIST=1000
|
|
|
|
setopt HIST_EXPIRE_DUPS_FIRST
|
|
setopt HIST_IGNORE_DUPS
|
|
setopt HIST_IGNORE_ALL_DUPS
|
|
setopt HIST_IGNORE_SPACE
|
|
setopt HIST_FIND_NO_DUPS
|
|
setopt HIST_SAVE_NO_DUPS
|
|
setopt HIST_BEEP
|
|
setopt INC_APPEND_HISTORY
|
|
|
|
|
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
|
|
|
# create a zkbd compatible hash;
|
|
# to add other keys to this hash, see: man 5 terminfo
|
|
typeset -g -A key
|
|
|
|
key[Home]="${terminfo[khome]}"
|
|
key[End]="${terminfo[kend]}"
|
|
key[Insert]="${terminfo[kich1]}"
|
|
key[Backspace]="${terminfo[kbs]}"
|
|
key[Delete]="${terminfo[kdch1]}"
|
|
key[Up]="${terminfo[kcuu1]}"
|
|
key[Down]="${terminfo[kcud1]}"
|
|
key[Left]="${terminfo[kcub1]}"
|
|
key[Right]="${terminfo[kcuf1]}"
|
|
key[PageUp]="${terminfo[kpp]}"
|
|
key[PageDown]="${terminfo[knp]}"
|
|
key[Shift-Tab]="${terminfo[kcbt]}"
|
|
|
|
|
|
# setup key accordingly
|
|
[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
|
|
[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
|
|
[[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode
|
|
[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char
|
|
[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char
|
|
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history
|
|
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history
|
|
[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char
|
|
[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char
|
|
[[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history
|
|
[[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history
|
|
[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete
|
|
|
|
# Finally, make sure the terminal is in application mode, when zle is
|
|
# active. Only then are the values from $terminfo valid.
|
|
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
|
|
autoload -Uz add-zle-hook-widget
|
|
function zle_application_mode_start { echoti smkx }
|
|
function zle_application_mode_stop { echoti rmkx }
|
|
add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
|
|
add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
|
|
fi
|
|
|
|
# History search keybinds.
|
|
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
|
|
zle -N up-line-or-beginning-search
|
|
zle -N down-line-or-beginning-search
|
|
|
|
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-beginning-search
|
|
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search |