#!/usr/bin/env bash

if [[ -z "$1" ]]
then
	echo Error: Not settings file specified!
	echo Settings files are located in ~/.config/backups.
	echo To use one, simply specify it\'s name. e.g. \'backup riftgate\' would use the \'~/.config/riftgate.config\' backup configuration file.
	echo Backup configuration files detected:
	ls ~/.config/backups
	exit
fi

CONFIG_FILE=~/.config/backups/$1.config

echo Using config file ${CONFIG_FILE}.

. "${CONFIG_FILE}"

echo "Backing '${SOURCE_DIRECTORY}' up to '${BACKUP_DIRECTORY}'."

if [[ ! -w "${BACKUP_DIRECTORY}" ]]
then
	notify-send --icon "deja-dup" "Backup Cancelled" "The target directory is not currently available."
	exit
fi

env PASSPHRASE=${PASSWORD} SIGN_PASSPHRASE=${PASSWORD} duplicity --progress --encrypt-sign-key ${ENCRYPTION_KEY} "${SOURCE_DIRECTORY}" "${BACKUP_SOURCE_PREFIX}${BACKUP_DIRECTORY}"

notify-send --icon "deja-dup" "Backup Complete" "Riftgate was backed up to Data Shape successfully."

# Delete old backups
#duplicity remove-all-but-n-full 3 --force ${BACKUP_DIRECTORY}

