Dotfiles/.bashrc
2024-06-09 21:52:24 +02:00

109 lines
2.4 KiB
Bash

#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# Terminal Startup
neofetch
# VI-Mode
set -o vi
bind -m vi-command 'Control-l: clear-screen'
bind -m vi-insert 'Control-l: clear-screen'
# Extracting archives
function ex () {
if [ -f $1 ]; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.tar.xz) tar xf $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 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# Boop a website
function boop() {
ping $@ | sed -E 's/PING/BOOP/;s/[^0-9]*.bytes/ beeps/'
}
# Exports
export PAGER=bat
export EDITOR=nvim
export VISUAL="emacsclient -c -a 'emacs'"
export -f ex
export -f boop
export PATH=$PATH:/home/emma/.emacs.d/bin/
export PATH=$PATH:/home/emma/.local/bin/
# Shopt
shopt -s autocd
# Listing stuff
alias ls='eza --color=always --group-directories-first'
alias la='eza -a --color=always --group-directories-first'
alias ll='eza -lah --color=always --group-directories-first'
alias l.='eza -a | grep "^\."'
# Make things readable
alias top=htop
alias df='df -h'
alias grep='grep --color=always'
# Memes
alias meow='cat'
alias wanna-fuck-me-now='echo "I use Gentoo btw" | cowsay | lolcat'
alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash'
# Typo correctors
alias eixt=exit
alias exti=exit
alias xeit=exit
alias exot=exit
alias exir=exit
alias exut=exit
alias rxit=exit
alias exto=exit
alias :q=exit
alias :q!=exit
alias :wq=exit
alias oiweriff=poweroff
# Package Management aliases
alias fullsys='doas emerge --sync && doas emerge -auDN @world && doas emerge --depclean' # Updates everything on the system
alias remorph='doas emerge --depclean' # Removes orphaned packages
alias checkfetch='doas tail -f /var/log/emerge-fetch.log'
# Emacs Aliases
alias emacsdaemon='/usr/bin/emacs --daemon'
alias emacs='emacsclient -c -a "emacs"'
alias emanw='emacs -nw'
alias vim=nvim
# Python aliases
alias pybuild="python -m build"
alias pytwine="python -m twine"
# Paths, conveniences
alias wallmanrepo="/var/db/repos/wallman/app-misc/wallman/"
# Prompt
eval "$(starship init bash)"