From 9862068abde2102f3efda107eb89d423f24c8039 Mon Sep 17 00:00:00 2001 From: Derek Taylor Date: Tue, 16 Apr 2024 20:12:20 -0500 Subject: [PATCH 1/3] Cleaning up shell configs. --- .bashrc | 127 ++++++++++++++++++++++----------------- .config/fish/config.fish | 30 +++------ .zshrc | 76 +++++++++++------------ 3 files changed, 118 insertions(+), 115 deletions(-) diff --git a/.bashrc b/.bashrc index 4913c13..abfd646 100644 --- a/.bashrc +++ b/.bashrc @@ -9,7 +9,6 @@ ### EXPORT export TERM="xterm-256color" # getting proper colors export HISTCONTROL=ignoredups:erasedups # no duplicate entries -export ALTERNATE_EDITOR="" # setting for emacsclient export EDITOR="emacsclient -t -a ''" # $EDITOR use Emacs in terminal export VISUAL="emacsclient -c -a emacs" # $VISUAL use Emacs in GUI mode @@ -97,43 +96,65 @@ shopt -s checkwinsize # checks term size when bash regains control bind "set completion-ignore-case on" ### COUNTDOWN - cdown () { N=$1 - while [[ $((--N)) > 0 ]] + while [[ $((--N)) -gt 0 ]] do echo "$N" | figlet -c | lolcat && sleep 1 done } +### Function extract for common file formats ### +SAVEIFS=$IFS +IFS=$(echo -en "\n\b") + ### ARCHIVE EXTRACTION # 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 ;; - *.tar.zst) unzstd $1 ;; - *) echo "'$1' cannot be extracted via ex()" ;; - esac - else - echo "'$1' is not a valid file" - fi +function ex { + if [ -z "$1" ]; then + # display usage if no parameters given + echo "Usage: ex ." + 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 "ex: '$n' - unknown archive method" + return 1 + ;; + esac + else + echo "'$n' - file does not exist" + return 1 + fi + done +fi +} + +IFS=$SAVEIFS + +# Function for using Emacs as our manpage reader. +# Use :q to quit out of Emacs and return to the shell. +macsman() { + emacsclient -nw -e "(let ((Man-notify-method 'bully)) (man \"$1\") (define-key Man-mode-map \"q\" 'save-buffers-kill-emacs))" } -### ALIASES ### # navigation up () { local d="" @@ -154,18 +175,29 @@ up () { fi } +### ALIASES ### +# navigation +alias ..='cd ..' +alias ...='cd ../..' +alias .3='cd ../../..' +alias .4='cd ../../../..' +alias .5='cd ../../../../..' + # vim and emacs alias vim="nvim" -alias em="/usr/bin/emacs -nw" -alias emacs="emacsclient -c -a 'emacs'" -alias rem="killall emacs || echo 'Emacs server not running'; /usr/bin/emacs --daemon" +alias emacs="emacsclient -c -a 'emacs'" # GUI versions of Emacs +alias em="/usr/bin/emacs -nw" # Terminal version of Emacs +alias rem="killall emacs || echo 'Emacs server not running'; /usr/bin/emacs --daemon" # Kill Emacs and restart daemon.. +alias man="macsman" # Use emacs as your manpage reader. # Changing "ls" to "eza" alias ls='eza -al --color=always --group-directories-first' # my preferred listing alias la='eza -a --color=always --group-directories-first' # all files and dirs alias ll='eza -l --color=always --group-directories-first' # long format alias lt='eza -aT --color=always --group-directories-first' # tree listing -alias l.='eza -a | egrep "^\."' +alias l.='eza -al --color=always --group-directories-first ../' # ls on the PARENT directory +alias l..='eza -al --color=always --group-directories-first ../../' # ls on directory 2 levels up +alias l...='eza -al --color=always --group-directories-first ../../../' # ls on directory 3 levels up # pacman and yay alias pacsyu='sudo pacman -Syu' # update only standard pkgs @@ -173,7 +205,7 @@ alias pacsyyu='sudo pacman -Syyu' # Refresh pkglist & update stan 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 (DANGEROUS!) +alias orphan='sudo pacman -Rns $(pacman -Qtdq)' # remove orphaned packages (DANGEROUS!) # get fastest mirrors alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist" @@ -181,14 +213,10 @@ alias mirrord="sudo reflector --latest 50 --number 20 --sort delay --save /etc/p 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' - # adding flags -alias df='df -h' # human-readable sizes -alias free='free -m' # show sizes in MB +alias df='df -h' # human-readable sizes +alias free='free -m' # show sizes in MB +alias grep='grep --color=auto' # colorize output (good for log files) # ps alias psa="ps auxf" @@ -222,22 +250,12 @@ 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='vlc *.wav' -alias playogg='vlc *.ogg' -alias playmp3='vlc *.mp3' +# change your default USER shell +alias tobash="sudo chsh $USER -s /bin/bash && echo 'Log out and log back in for change to take effect.'" +alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Log out and log back in for change to take effect.'" +alias tofish="sudo chsh $USER -s /bin/fish && echo 'Log out and log back in for change to take effect.'" -# Play video files in current dir by type -alias playavi='vlc *.avi' -alias playmov='vlc *.mov' -alias playmp4='vlc *.mp4' - -# switch between shells -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 +# bare git repo alias for managing my dotfiles alias config="/usr/bin/git --git-dir=$HOME/dotfiles --work-tree=$HOME" # termbin @@ -253,4 +271,3 @@ colorscript random ### SETTING THE STARSHIP PROMPT ### eval "$(starship init bash)" -[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh diff --git a/.config/fish/config.fish b/.config/fish/config.fish index d54720d..752d596 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -149,9 +149,10 @@ alias .5='cd ../../../../..' # vim and emacs alias vim='nvim' -alias em='/usr/bin/emacs -nw' alias emacs="emacsclient -c -a 'emacs'" -alias rem="killall emacs || echo 'Emacs server not running'; /usr/bin/emacs --daemon" +alias em='/usr/bin/emacs -nw' +alias rem="killall emacs || echo 'Emacs server not running'; /usr/bin/emacs --daemon" # Kill Emacs and restart daemon.. +alias man="macsman" # Use emacs as your manpage reader. # Changing "ls" to "eza" alias ls='eza -al --color=always --group-directories-first' # my preferred listing @@ -159,6 +160,9 @@ alias la='eza -a --color=always --group-directories-first' # all files and dirs alias ll='eza -l --color=always --group-directories-first' # long format alias lt='eza -aT --color=always --group-directories-first' # tree listing alias l.='eza -a | egrep "^\."' +alias l.='eza -al --color=always --group-directories-first ../' # ls on the PARENT directory +alias l..='eza -al --color=always --group-directories-first ../../' # ls on directory 2 levels up +alias l...='eza -al --color=always --group-directories-first ../../../' # ls on directory 3 levels up # pacman and yay alias pacsyu='sudo pacman -Syu' # update only standard pkgs @@ -166,7 +170,7 @@ alias pacsyyu='sudo pacman -Syyu' # Refresh pkglist & update stan 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 (DANGEROUS!) +alias orphan='sudo pacman -Rns (pacman -Qtdq)' # remove orphaned packages (DANGEROUS!) # get fastest mirrors alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist" @@ -174,14 +178,10 @@ alias mirrord="sudo reflector --latest 50 --number 20 --sort delay --save /etc/p 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' - # adding flags -alias df='df -h' # human-readable sizes -alias free='free -m' # show sizes in MB +alias df='df -h' # human-readable sizes +alias free='free -m' # show sizes in MB +alias grep='grep --color=auto' # colorize output (good for log files) # ps alias psa="ps auxf" @@ -214,16 +214,6 @@ 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='vlc *.wav' -alias playogg='vlc *.ogg' -alias playmp3='vlc *.mp3' - -# Play video files in current dir by type -alias playavi='vlc *.avi' -alias playmov='vlc *.mov' -alias playmp4='vlc *.mp4' - # switch between shells alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'" alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'" diff --git a/.zshrc b/.zshrc index da82d96..95c0f9d 100644 --- a/.zshrc +++ b/.zshrc @@ -76,14 +76,25 @@ case ${TERM} in ;; esac +### COUNTDOWN +cdown () { + N=$1 + while [[ $((--N)) -gt 0 ]] + do + echo "$N" | figlet -c | lolcat && sleep 1 + done +} + ### Function extract for common file formats ### SAVEIFS=$IFS IFS=$(echo -en "\n\b") -function extract { +### ARCHIVE EXTRACTION +# usage: ex +function ex { if [ -z "$1" ]; then # display usage if no parameters given - echo "Usage: extract ." + echo "Usage: ex ." echo " extract [path/file_name_2.ext] [path/file_name_3.ext]" else for n in "$@" @@ -105,7 +116,7 @@ function extract { *.cpio) cpio -id < ./"$n" ;; *.cba|*.ace) unace x ./"$n" ;; *) - echo "extract: '$n' - unknown archive method" + echo "ex: '$n' - unknown archive method" return 1 ;; esac @@ -119,10 +130,11 @@ fi IFS=$SAVEIFS -### ALIASES ### - -# root privileges -alias doas="doas --" +# Function for using Emacs as our manpage reader. +# Use :q to quit out of Emacs and return to the shell. +macsman() { + emacsclient -nw -e "(let ((Man-notify-method 'bully)) (man \"$1\") (define-key Man-mode-map \"q\" 'save-buffers-kill-emacs))" +} # navigation up () { @@ -144,18 +156,22 @@ up () { fi } +### ALIASES ### # vim and emacs alias vim="nvim" -alias em="/usr/bin/emacs -nw" -alias emacs="emacsclient -c -a 'emacs'" -alias rem="killall emacs || echo 'Emacs server not running'; /usr/bin/emacs --daemon" +alias emacs="emacsclient -c -a 'emacs'" # GUI versions of Emacs +alias em="/usr/bin/emacs -nw" # Terminal version of Emacs +alias rem="killall emacs || echo 'Emacs server not running'; /usr/bin/emacs --daemon" # Kill Emacs and restart daemon.. +alias man="macsman" # Use emacs as your manpage reader. # Changing "ls" to "eza" alias ls='eza -al --color=always --group-directories-first' # my preferred listing alias la='eza -a --color=always --group-directories-first' # all files and dirs alias ll='eza -l --color=always --group-directories-first' # long format alias lt='eza -aT --color=always --group-directories-first' # tree listing -alias l.='eza -a | egrep "^\."' +alias l.='eza -al --color=always --group-directories-first ../' # ls on the PARENT directory +alias l..='eza -al --color=always --group-directories-first ../../' # ls on directory 2 levels up +alias l...='eza -al --color=always --group-directories-first ../../../' # ls on directory 3 levels up # pacman and yay alias pacsyu='sudo pacman -Syu' # update only standard pkgs @@ -163,7 +179,7 @@ alias pacsyyu='sudo pacman -Syyu' # Refresh pkglist & update stan 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 (DANGEROUS!) +alias orphan='sudo pacman -Rns $(pacman -Qtdq)' # remove orphaned packages (DANGEROUS!) # get fastest mirrors alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist" @@ -171,14 +187,10 @@ alias mirrord="sudo reflector --latest 50 --number 20 --sort delay --save /etc/p 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' - # adding flags -alias df='df -h' # human-readable sizes -alias free='free -m' # show sizes in MB +alias df='df -h' # human-readable sizes +alias free='free -m' # show sizes in MB +alias grep='grep --color=auto' # colorize output (good for log files) # ps alias psa="ps auxf" @@ -212,22 +224,12 @@ 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='vlc *.wav' -alias playogg='vlc *.ogg' -alias playmp3='vlc *.mp3' +# change your default USER shell +alias tobash="sudo chsh $USER -s /bin/bash && echo 'Log out and log back in for change to take effect.'" +alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Log out and log back in for change to take effect.'" +alias tofish="sudo chsh $USER -s /bin/fish && echo 'Log out and log back in for change to take effect.'" -# Play video files in current dir by type -alias playavi='vlc *.avi' -alias playmov='vlc *.mov' -alias playmp4='vlc *.mp4' - -# switch between shells -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 +# bare git repo alias for managing my dotfiles alias config="/usr/bin/git --git-dir=$HOME/dotfiles --work-tree=$HOME" # termbin @@ -241,11 +243,5 @@ alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/mas # 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)" - From 568963d881feee15bc72fa57735c1776865feeb9 Mon Sep 17 00:00:00 2001 From: Derek Taylor Date: Tue, 16 Apr 2024 20:13:30 -0500 Subject: [PATCH 2/3] Minor edits. --- .config/fish/config.fish | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 752d596..7281d7e 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -214,10 +214,10 @@ 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" -# switch between shells -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.'" +# change your default USER shell +alias tobash="sudo chsh $USER -s /bin/bash && echo 'Log out and log back in for change to take effect.'" +alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Log out and log back in for change to take effect.'" +alias tofish="sudo chsh $USER -s /bin/fish && echo 'Log out and log back in for change to take effect.'" # bare git repo alias for dotfiles alias config="/usr/bin/git --git-dir=$HOME/dotfiles --work-tree=$HOME" From 697c4d62bd83605208b28806e06145936ca365a2 Mon Sep 17 00:00:00 2001 From: Derek Taylor Date: Tue, 16 Apr 2024 20:31:35 -0500 Subject: [PATCH 3/3] Deleted an empty line. --- .config/qtile/autostart.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/.config/qtile/autostart.sh b/.config/qtile/autostart.sh index 7d5f0d2..7b1b6ba 100755 --- a/.config/qtile/autostart.sh +++ b/.config/qtile/autostart.sh @@ -2,7 +2,6 @@ COLORSCHEME=DoomOne - ### AUTOSTART PROGRAMS ### lxsession & picom --daemon &