#!/bin/sh configs='cmus ckb-next compton mpv openbox nnn liferea lutris ranger tmux xkb .bashrc .profile xfiles' paths="$HOME/Documents $HOME/Notes $HOME/Pictures $HOME/Projects $HOME/Source" BU="$HOME/Backups" conf() { configs=$(echo $configs | tr '\n' ' ') for dir in $configs do rsync -av --progress --exclude '*.git/' $HOME/.config/$dir $BU/config/ done } mac() { macros="$HOME/Macros/*" rsync -av --progress --exclude '*.git/ *.swp$ *.swo$' $macros $BU/macros } global_vim() { rcs=/etc/vim/* packs=/usr/share/vim??/* macros=$HOME/Macros/* for dir in $macros do echo $dir rsync -av --progress --exclude '*.git/' $HOME/.config/$dir $BU/config/global_vim/ done } notes() { rcs=/etc/vim/* packs=/usr/share/vim??/* macros=$HOME/Macros/* for dir in $macros do echo $dir rsync -av --progress --exclude '*.git/' $HOME/.config/$dir $BU/config/global_vim/ done } archive() { destination=$BU/archives/$(date +%F)-$(openssl rand -base64 6) tar -g $BU/archives/tar.info -cvf $destination $paths } case "$1" in configs) conf;; macros) mac;; globalvim) global_vim;; notes) notes;; archive) archive;; esac