aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.zsh.after/functions.zsh289
1 files changed, 48 insertions, 241 deletions
diff --git a/.zsh.after/functions.zsh b/.zsh.after/functions.zsh
index d540cbc..ecfc936 100644
--- a/.zsh.after/functions.zsh
+++ b/.zsh.after/functions.zsh
@@ -1,78 +1,5 @@
# < FUNCTIONS
-## BACKUP
- function etcbackup() {
- BACKUPDIR=$HOME/dropbox/backup
- HOSTNAME=$(hostname)
- FILE=$1
-
- if [ -f $FILE ]
- then
- FILENAME=$(echo $FILE | sed 's/\///' | sed 's/\//_/g')
- cp -v $FILE $BACKUPDIR/$HOSTNAME/$FILENAME
- else
- echo $FILE does not exist
- fi
- }
-
-## DOTFILES
- function update_dot() {
- for i in $HOME/dropbox/dot/[a-zA-Z]*;
- do
- if [ -f $i ];
- then
- echo file $i
- base=`basename $i`
- dst=$HOME/.$base
- bak=$HOME/.${base}_bak
-
- case $base in
- vimrc|zshrc|*tgz)
- echo nothing $i
- ;;
- *)
- if [ -L $dst ];
- then
- rm $dst
- else
- mv $dst $bak
- fi
- ln -s $i $dst
- ;;
- esac
-
- else
- if [ -d $i ];
- then
- echo dir $i
- base=`basename $i | sed 's/_/\//'`
- dst=$HOME/.$base
- bak=$HOME/.${base}_bak
-
- case $base in
- "vim")
- echo nothing $i
- ;;
- *)
- if [ -e $dst ];
- then
- if [ -L $dst ];
- then
- rm $dst
- else
- mv $dst $bak
- fi
- fi
- ln -s $i $dst
- ;;
- esac
- else
- echo unknown $i
- fi
- fi
- done
- }
-
## PDF/LATEX
function mkpdf()
{
@@ -199,194 +126,74 @@ tar_xz() {
#Decompress any given compressed file
ex() {
-if [ -f $1 ] ; then
- case $1 in
- *.tar.bz2) tar xvjf $1 ;;
- *.tar.gz) tar xvzf $1 ;;
- *.bz2) bunzip2 $1 ;;
- *.deb) ar vx $1
- ;;
- *.rar) unrar x $1 ;;
- *.pgp) gpg -o ${1%".pgp"} -d $1 ;;
- *.gpg) gpg -o ${1%".gpg"} -d $1 ;;
- *.gz) gunzip $1 ;;
- *.tar) tar xvf $1 ;;
- *.tbz2) tar xvjf $1 ;;
- *.tgz) tar xvzf $1 ;;
- *.xz) tar xvJf $1 ;;
- *.zip) unzip $1 ;;
- *.Z) uncompress $1 ;;
- *.7z) 7z x $1 ;;
- *) echo "don't know how to extract '$1'..." ;;
- esac
-else
- echo "'$1' is not a valid file!"
-fi
-}
-
-ex2() {
- if [ -f $2 ] ;then
- echo "Extracting to '$2'"
- local out = $2
- else
- echo "Extracting to '$( pwd )'"
- local out = $( pwd )
- fi
- if [ -f $1 ] ;then
- echo "'$1'"
- else
- echo "'$1' is not a valid file!"
- fi
-}
-
-
-
-
-##CRYPTSETUP AND LUKS
-#TODO: Add possibility of opening/closing multiple devices at once
-lopen() {
- case $HOST in
- "homey")
- case $1 in
- "video-backup")
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-SAMSUNG_HD153WI_S1UVJ1VZ400797" $1
+ if [ -f $1 ] ; then
+ case $1 in
+ *.tar.bz2)
+ tar xvjf $1
;;
- "video")
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-SAMSUNG_HD153WI_S1UVJ1VZ400798" $1
+ *.tar.gz)
+ tar xvzf $1
;;
- "photos")
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-SAMSUNG_HD501LJ_S0MUJ1FQ104574" $1
+ *.bz2)
+ bunzip2 $1
;;
- "music")
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-SAMSUNG_HD501LJ_S0MUJ1FPB87663" $1
+ *.deb)
+ ar vx $1
;;
- "music-external")
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-ST9500325AS_6VE152RS" $1
+ *.rar)
+ unrar x $1
;;
- "photos-external")
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-ST9500325AS_6VE457TN" $1
+ *.pgp)
+ gpg -o ${1%".pgp"} -d $1
;;
- esac
- ;;
- "trvlr")
- case $1 in
- "storage")
- sudo cryptsetup luksOpen "/dev/disk/by-uuid/3f781aab-24b5-4de0-8632-b9df922d6433" $1
+ *.gpg)
+ gpg -o ${1%".gpg"} -d $1
;;
- *)
- echo "Error! Device $1 is not available"
- return 1
+ *.gz)
+ gunzip $1
;;
- esac
- ;;
- "dvzrv" | "trvlr" | "apu-serve")
- case $1 in
- "music")
- if [ -L "/dev/disk/by-uuid/e0b19c7d-9e90-4117-aea1-7e4b321d9d5a" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-uuid/e0b19c7d-9e90-4117-aea1-7e4b321d9d5a" $1
- elif [ -L "/dev/disk/by-id/ata-ST9500325AS_6VE152RS" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-ST9500325AS_6VE152RS" $1
- elif [ -L "/dev/disk/by-id/usb-Seagate_FreeAgent_Go_2GE36KXD-0:0" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/usb-Seagate_FreeAgent_Go_2GE36KXD-0:0" $1
- else
- echo "Error! Device $1 is not available"
- return 1
- fi
+ *.tar)
+ tar xvf $1
;;
- "photos")
- if [ -L "/dev/disk/by-uuid/b3c5a842-474b-4c2f-a246-abebe1da3450" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-uuid/b3c5a842-474b-4c2f-a246-abebe1da3450" $1
- elif [ -L "/dev/disk/by-id/ata-ST9500325AS_6VE457TN " ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-ST9500325AS_6VE457TN" $1
- elif [ -L "/dev/disk/by-id/usb-Seagate_FreeAgent_Go_2GE4LCR0-0:0" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/usb-Seagate_FreeAgent_Go_2GE4LCR0-0:0" $1
- else
- echo "Error! Device $1 is not available"
- return 1
- fi
+ *.tbz2)
+ tar xvjf $1
;;
- "backup-audio")
- if [ -L "/dev/disk/by-id/usb-HGST_HTS_725050A7E630_801130168383-0:0" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/usb-HGST_HTS_725050A7E630_801130168383-0:0" $1
- elif [ -L "/dev/disk/by-id/ata-HGST_HTS725050A7E630_TF755AWHHS9S1M" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-HGST_HTS725050A7E630_TF755AWHHS9S1M" $1
- else
- echo "Error! Device $1 is not available"
- return 1
- fi
+ *.tgz)
+ tar xvzf $1
;;
- "backup")
- if [ -L "/dev/disk/by-uuid/e003337a-33e9-4691-bc57-e77243e55de5" ];then
- sudo cryptsetup luksOpen "/dev/disk/by-uuid/e003337a-33e9-4691-bc57-e77243e55de5" $1
- elif [ -L "/dev/disk/by-id/ata-ST9500420ASG_5VJ5TRWD" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-ST9500420ASG_5VJ5TRWD" $1
- elif [ -L "/dev/disk/by-id/usb-ST950042_0ASG_55DFFFFFFFFF-0:0" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/usb-ST950042_0ASG_55DFFFFFFFFF-0:0" $1
- else
- echo "Error! Device $1 is not available"
- return 1
- fi
+ *.xz)
+ tar xvJf $1
;;
- "media")
- if [ -L "/dev/disk/by-id/ata-ST4000LM016-1N2170_W80088G0" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-ST4000LM016-1N2170_W80088G0" $1
- elif [ -L "/dev/disk/by-uuid/e5adbc14-732e-43e8-b6e1-febdfe6d1d3c" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-uuid/e5adbc14-732e-43e8-b6e1-febdfe6d1d3c" $1
- else
- echo "Error! Device $1 is not available"
- return 1
- fi
+ *.zip)
+ unzip $1
;;
- "video")
- if [ -L "/dev/disk/by-id/ata-ST4000LM016-1N2170_W80092WW" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-id/ata-ST4000LM016-1N2170_W80092WW" $1
- elif [ -L "/dev/disk/by-uuid/5ac700be-e168-495b-b133-42064fa101e4" ]; then
- sudo cryptsetup luksOpen "/dev/disk/by-uuid/5ac700be-e168-495b-b133-42064fa101e4" $1
- else
- echo "Error! Device $1 is not available"
- return 1
- fi
+ *.Z)
+ uncompress $1
;;
- *)
- echo "Error! Device $1 is not available"
- return 1
+ *.7z)
+ 7z x $1
;;
- esac
- esac
- if [[ -e "/dev/mapper/$1" ]]; then
- sudo mount /dev/mapper/$1 /mnt/$1
- if [ $1 = "media" ]; then
- sudo mount --bind /mnt/media/music /mnt/music
- sudo mount --bind /mnt/media/photos /mnt/photos
- if [ ! -h ~/.cache/shotwell ]; then
- ln -s /mnt/photos/shotwell/ ~/.cache/shotwell
- fi
- fi
+ *)
+ echo "Don't know how to extract '$1'..."
+ ;;
+ esac
else
- echo "Error: Device /dev/mapper/$1 is not available."
- return 1
+ echo "'$1' is not a valid file to extract!"
fi
}
-lclose() {
- notmounted=$(mountpoint /mnt/$1)
- if [ "$?" -eq 0 ]; then
- #stop services blocking the umount
- if [[ $HOST == "homey" ]]; then
- sudo systemctl stop rpc-{idmapd,mountd} rpcbind
- fi
- if [ $1 = "media" ]; then
- sudo umount /mnt/{music,photos}
- fi
- sudo umount /mnt/$1
- sudo cryptsetup luksClose $1
- #restart services that blocked the umount
- if [[ $HOST == "homey" ]]; then
- sudo systemctl start rpc-{idmapd,mountd} rpcbind
- fi
+ex2() {
+ if [ -f $2 ] ;then
+ echo "Extracting to '$2'"
+ local out = $2
+ else
+ echo "Extracting to '$( pwd )'"
+ local out = $( pwd )
+ fi
+ if [ -f $1 ] ;then
+ echo "'$1'"
else
- echo "/mnt/$1 is not a mountpoint or not mounted."
- return 1
+ echo "'$1' is not a valid file!"
fi
}