# 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 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