# create an alias to easily show all user-specific aliases:
alias sa='alias -p'

# aliases
alias ..='cd ..'
alias ...='cd ../../../'
alias ....='cd ../../../../'
alias ansible-pull="/opt/camj/env/bin/ansible-pull"
alias ansible-vault="/opt/camj/env/bin/ansible-vault"
alias back='cd $OLDPWD'
alias c='clear'
alias cd..='cd ..'
alias cp='cp -iv'
alias df='df -h -x squashfs -x tmpfs -x devtmpfs'

if command -v colordiff > /dev/null 2>&1; then
    alias diff="colordiff -Nuar"
else
    alias diff="diff -Nuar"
fi
alias dmesg='sudo dmesg -t'
alias egrep='egrep -n --colour=auto'
alias e="vim -O "
alias E="vim -o "
alias extip='curl icanhazip.com'
alias grep='grep --color=auto'
alias grepn='grep -n --color=auto'
alias l.=' ls -lhFa --time-style=long-iso --color=auto --ignore=lost+found'
alias ll='ls'

# Use eza for ls (if it's available)
if command -v eza >/dev/null 2>&1; then
    alias ls="eza -lhF --group --time-style=long-iso --color=auto --ignore-glob='lost+found' \"\$@\""
else
    alias ls='ls -lhF --time-style=long-iso --color=auto --ignore=lost+found'
fi

alias lsblk="lsblk | /usr/bin/grep -v '^loop'"
alias lsmount='mount |column -t'
alias mkdir='mkdir -pv'
alias ports='netstat -tulanp'
alias h='history'
alias j='jobs -l'
alias ln='ln -iv'
alias mv='mv -iv'
alias ssha='eval $(ssh-agent) && ssh-add'
alias sysinfo='inxi -Fxxxrza'
alias svim='sudo vim'
alias tn=' tmux new -s'
alias tssh='ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'
alias vdestroy='vagrant destroy'
alias vssh='vagrant ssh'
alias vup='vagrant up'
alias watch='watch -d'
alias weather='curl wttr.in'
alias wget='wget -c'

## get top process eating memory
alias mem5='ps auxf | sort -nr -k 4 | head -5'
alias mem10='ps auxf | sort -nr -k 4 | head -10'

## get top process eating cpu ##
alias cpu5='ps auxf | sort -nr -k 3 | head -5'
alias cpu10='ps auxf | sort -nr -k 3 | head -10'

## List largest directories (aka "ducks")
alias dir5='du -cksh * | sort -hr | head -n 5'
alias dir10='du -cksh * | sort -hr | head -n 10'

# Safety nets
alias rm='rm -I --preserve-root'
alias chown='chown --preserve-root'
alias chmod='chmod --preserve-root'
alias chgrp='chgrp --preserve-root'

# reload bash config
alias reload="source ~/.bashrc"

# Manage packages easier
if [ -f /usr/bin/apt ]; then
  alias update='sudo apt update'
  alias install='sudo apt install'
  alias i='sudo apt install'
fi

if [ -f /usr/bin/dnf ]; then
  alias install='sudo dnf install'
  alias i='sudo dnf install'
fi
