Created aliases and functions for the bash shell

This commit is contained in:
Alex Tavarez
2025-09-07 10:22:04 -04:00
parent 164b389536
commit 3fa0c8ea5c
2 changed files with 133 additions and 0 deletions

7
bash/aliases.sh Normal file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/bash
alias clone="rsync -pogAXtlHrDx --stats --info=progress2"
alias yubicrypt="gpg -a -r 4B6331BEF3AC0BE7! -r 0224C38EB9F83CEC! -e"
alias codium="flatpak run --user com.vscodium.codium"
alias flatshell="flatpak run --user --command=sh"
# @REMINDER: Add `eval "$(direnv hook bash)"` to end of `~/.bashrc` when install `direnv` package

126
bash/functions.sh Normal file
View File

@@ -0,0 +1,126 @@
#!/usr/bin/bash
gcfmount () {
if [ "$1" == "data" ]; then
GOCRYPTFS_CONFIG_ARG=~/.keys/gocryptfs/data-cipher/gocryptfs.conf
GOCRYPTFS_PASSFILE_ARG=~/.keys/gocryptfs/gocryptfs.key
GOCRYPTFS_VAULT_ARG=~/.${1}
fi
if [ "$1" == "classified" ]; then
GOCRYPTFS_CONFIG_ARG=~/.keys/gocryptfs/secret-cipher/gocryptfs.conf
GOCRYPTFS_PASSFILE_ARG=~/.keys/gocryptfs/gocryptfs.key
GOCRYPTFS_VAULT_ARG=~/Documents/.secret
fi
if [ "$1" == "works-in-progress" ]; then
GOCRYPTFS_CONFIG_ARG=~/.keys/gocryptfs/wip-cipher/gocryptfs.conf
GOCRYPTFS_PASSFILE_ARG=~/.keys/gocryptfs/gocryptfs-wip.key
GOCRYPTFS_VAULT_ARG=~/Portfolio/.WIP
fi
if ! [ -f ~/.mnt/data ]; then
mkdir -p ~/.mnt/data
fi
if ! [ -f ~/.mnt/works-in-progress ]; then
mkdir -p ~/.mnt/works-in-progress
fi
if ! [ -f ~/.mnt/classified ]; then
mkdir -p ~/.mnt/classified
fi
gocryptfs -config "$GOCRYPTFS_CONFIG_ARG" -passfile "$GOCRYPTFS_PASSFILE_ARG" "$GOCRYPTFS_VAULT_ARG" ~/.mnt/"${1}"
}
gcfunmount () {
GOCRYPTFS_PLAIN_ARG=~/.mnt/${1}
fusermount -u "$GOCRYPTFS_PLAIN_ARG"
}
gpgcrypt () {
if [ -z "$2" ] || [ -z "$1" ]; then
exit 1
fi
if [ "$1" == "prof-yubi-meth" ]; then
ENCRYPTION_SUBKEYS=("4B6331BEF3AC0BE7" "0224C38EB9F83CEC")
elif [ "$1" == "prof-meth" ]; then
ENCRYPTION_SUBKEYS=("52BF88A647736790" "310C56CDE883C607")
elif [ "$1" == "pers-meth" ]; then
ENCRYPTION_SUBKEYS=("3C75E89F4CF28B73" "C588608AC4ECA184")
elif [ "$1" == "perv-meth" ]; then
ENCRYPTION_SUBKEYS=("CA4E8224B296365A")
elif [ "$1" == "perv-yubi-meth" ]; then
ENCRYPTION_SUBKEYS=("8B0C4AEF8B316FC9")
fi
if [ -z "$3" ]; then
SUBKEY_ARG_LEN="${#ENCRYPTION_SUBKEYS[@]}"
if (( SUBKEY_ARG_LEN < 2 )); then
gpg -a -r "${ENCRYPTION_SUBKEYS[0]}"! -e "$2"
else
gpg -a -r "${ENCRYPTION_SUBKEYS[0]}"! -r "${ENCRYPTION_SUBKEYS[1]}"! -e "$2"
fi
else
if (( SUBKEY_ARG_LEN < 2 )); then
gpg -a -r "${ENCRYPTION_SUBKEYS[0]}"! -o "$3" -e "$2"
else
gpg -a -r "${ENCRYPTION_SUBKEYS[0]}"! -r "${ENCRYPTION_SUBKEYS[1]}"! -o "$3" -e "$2"
fi
fi
}
znap () {
DATE_OF_ZFS_SNAPSHOT=$(date '+%Y%m%d%H%M%S')
if [ -z "$1" ]; then
exit 1
elif [ "$1" == "essential" ]; then
sudo zfs snapshot "zroot${HOME}@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot${HOME}/.config@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot${HOME}/.var/app@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot${HOME}/.local/share/flatpak@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot/var/lib/nfs@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot/var/lib/NetworkManager@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot/keystore@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot/srv@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot/var/games@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot/var/mail@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot/var/www@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot/usr/local@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot "zroot/var/lib/AccountsService@${DATE_OF_ZFS_SNAPSHOT}"
sudo zfs snapshot -r "medialib@${DATE_OF_ZFS_SNAPSHOT}"
zfs list -t snapshot
# @NOTE: reccommended w option for zfs send
else
sudo zfs snapshot "${1}@${DATE_OF_ZFS_SNAPSHOT}"
zfs list -t snapshot | grep "$1"
fi
}
zeject () {
if [ -z "$1" ]; then
exit 1
fi
sudo zpool export "$1"
}
ffcompress () {
if [ -z "$2" ]; then
CONVCODEC="libx265"
else
CONVCODEC=$2
fi
ffmpeg -i "$1" -c:v "$CONVCODEC" -preset veryfast "new-${1}"
rm "$1"
mv "new-${1}" "$1"
}
z-apt-clean () {
zfs list -t snapshot | grep 'apt-' | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {}
}