# ____ _____ # | _ \_ _| Derek Taylor (DistroTube) # | | | || | http://www.youtube.com/c/DistroTube # | |_| || | http://www.gitlab.com/dwt1/ # |____/ |_| # My zsh config. Not much to see here; just some pretty standard stuff. ### EXPORT export TERM="xterm-256color" # getting proper colors export HISTORY_IGNORE="(ls|cd|pwd|exit|sudo reboot|history|cd -|cd ..)" export EDITOR="emacsclient -t -a ''" # $EDITOR use Emacs in terminal export VISUAL="emacsclient -c -a emacs" # $VISUAL use Emacs in GUI mode ### SET MANPAGER ### Uncomment only one of these! ### "bat" as manpager export MANPAGER="sh -c 'col -bx | bat -l man -p'" ### "vim" as manpager # export MANPAGER='/bin/bash -c "vim -MRn -c \"set buftype=nofile showtabline=0 ft=man ts=8 nomod nolist norelativenumber nonu noma\" -c \"normal L\" -c \"nmap q :qa\"." echo " extract [path/file_name_2.ext] [path/file_name_3.ext]" else for n in "$@" do if [ -f "$n" ] ; then case "${n%,}" in *.cbt|*.tar.bz2|*.tar.gz|*.tar.xz|*.tbz2|*.tgz|*.txz|*.tar) tar xvf "$n" ;; *.lzma) unlzma ./"$n" ;; *.bz2) bunzip2 ./"$n" ;; *.cbr|*.rar) unrar x -ad ./"$n" ;; *.gz) gunzip ./"$n" ;; *.cbz|*.epub|*.zip) unzip ./"$n" ;; *.z) uncompress ./"$n" ;; *.7z|*.arj|*.cab|*.cb7|*.chm|*.deb|*.dmg|*.iso|*.lzh|*.msi|*.pkg|*.rpm|*.udf|*.wim|*.xar) 7z x ./"$n" ;; *.xz) unxz ./"$n" ;; *.exe) cabextract ./"$n" ;; *.cpio) cpio -id < ./"$n" ;; *.cba|*.ace) unace x ./"$n" ;; *) echo "extract: '$n' - unknown archive method" return 1 ;; esac else echo "'$n' - file does not exist" return 1 fi done fi } IFS=$SAVEIFS ### ALIASES ### # root privileges alias doas="doas --" # navigation up () { local d="" local limit="$1" # Default to limit of 1 if [ -z "$limit" ] || [ "$limit" -le 0 ]; then limit=1 fi for ((i=1;i<=limit;i++)); do d="../$d" done # perform cd. Show error if cd fails if ! cd "$d"; then echo "Couldn't go up $limit dirs."; fi } # vim and emacs alias vim="nvim" alias em="/usr/bin/emacs -nw" alias emacs="emacsclient -c -a 'emacs'" # Changing "ls" to "exa" alias ls='exa -al --color=always --group-directories-first' # my preferred listing alias la='exa -a --color=always --group-directories-first' # all files and dirs alias ll='exa -l --color=always --group-directories-first' # long format alias lt='exa -aT --color=always --group-directories-first' # tree listing alias l.='exa -a | egrep "^\."' # pacman and yay alias pacsyu='sudo pacman -Syu' # update only standard pkgs alias pacsyyu='sudo pacman -Syyu' # Refresh pkglist & update standard pkgs alias yaysua='yay -Sua --noconfirm' # update only AUR pkgs (yay) alias yaysyu='yay -Syu --noconfirm' # update standard pkgs and AUR pkgs (yay) alias parsua='paru -Sua --noconfirm' # update only AUR pkgs (paru) alias parsyu='paru -Syu --noconfirm' # update standard pkgs and AUR pkgs (paru) alias unlock='sudo rm /var/lib/pacman/db.lck' # remove pacman lock alias cleanup='sudo pacman -Rns $(pacman -Qtdq)' # remove orphaned 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" # Colorize grep output (good for log files) alias grep='grep --color=auto' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' # confirm before overwriting something alias cp="cp -i" alias mv='mv -i' alias rm='rm -i' # adding flags alias df='df -h' # human-readable sizes alias free='free -m' # show sizes in MB alias lynx='lynx -cfg=~/.lynx/lynx.cfg -lss=~/.lynx/lynx.lss -vikeys' alias vifm='./.config/vifm/scripts/vifmrun' alias ncmpcpp='ncmpcpp ncmpcpp_directory=$HOME/.config/ncmpcpp/' alias mocp='mocp -M "$XDG_CONFIG_HOME"/moc -O MOCDir="$XDG_CONFIG_HOME"/moc' # ps alias psa="ps auxf" alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" alias psmem='ps auxf | sort -nr -k 4' alias pscpu='ps auxf | sort -nr -k 3' # Merge Xresources alias merge='xrdb -merge ~/.Xresources' # git alias addup='git add -u' alias addall='git add .' alias branch='git branch' alias checkout='git checkout' alias clone='git clone' alias commit='git commit -m' alias fetch='git fetch' alias pull='git pull origin' alias push='git push origin' alias stat='git status' # 'status' is protected name so using 'stat' instead alias tag='git tag' alias newtag='git tag -a' # get error messages from journalctl alias jctl="journalctl -p 3 -xb" # gpg encryption # 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" # Play audio files in current dir by type alias playwav='deadbeef *.wav' alias playogg='deadbeef *.ogg' alias playmp3='deadbeef *.mp3' # Play video files in current dir by type alias playavi='vlc *.avi' alias playmov='vlc *.mov' alias playmp4='vlc *.mp4' # yt-dlp alias yta-aac="yt-dlp --extract-audio --audio-format aac " alias yta-best="yt-dlp --extract-audio --audio-format best " alias yta-flac="yt-dlp --extract-audio --audio-format flac " alias yta-m4a="yt-dlp --extract-audio --audio-format m4a " alias yta-mp3="yt-dlp --extract-audio --audio-format mp3 " alias yta-opus="yt-dlp --extract-audio --audio-format opus " alias yta-vorbis="yt-dlp --extract-audio --audio-format vorbis " alias yta-wav="yt-dlp --extract-audio --audio-format wav " alias ytv-best="yt-dlp -f bestvideo+bestaudio " # switch between shells # I do not recommend switching default SHELL from bash. alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'" alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'" alias tofish="sudo chsh $USER -s /bin/fish && echo 'Now log out.'" # bare git repo alias for dotfiles alias config="/usr/bin/git --git-dir=$HOME/dotfiles --work-tree=$HOME" # termbin alias tb="nc termbin.com 9999" # the terminal rickroll alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash' # Unlock LBRY tips alias tips='lbrynet txo spend --type=support --is_not_my_input --blocking' ### DTOS ### # Copy/paste all content of /etc/dtos over to home folder. A backup of config is created. (Be careful running this!) alias dtoscopy='[ -d ~/.config ] || mkdir ~/.config && cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S) && cp -rf /etc/dtos/* ~' # Backup contents of /etc/dtos to a backup folder in $HOME. alias dtosbackup='cp -Rf /etc/dtos ~/dtos-backup-$(date +%Y.%m.%d-%H.%M.%S)' ### RANDOM COLOR SCRIPT ### # Get this script from my GitLab: gitlab.com/dwt1/shell-color-scripts # Or install it from the Arch User Repository: shell-color-scripts colorscript random ### BASH INSULTER (works in zsh though) ### if [ -f /etc/bash.command-not-found ]; then . /etc/bash.command-not-found fi ### SETTING THE STARSHIP PROMPT ### eval "$(starship init zsh)"