feat: add cfg_load to root

This commit is contained in:
Megnas 2026-02-22 17:37:10 +01:00
parent 22e6573f27
commit 480c18d95d

35
cfg_load.sh Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/env bash
set -euo pipefail
TARGET="$HOME/.saved_cfg"
FOLDERS_FILE="$TARGET/folders"
if [[ ! -f "$FOLDERS_FILE" ]]; then
echo "Error: $FOLDERS_FILE not found"
exit 1
fi
while IFS= read -r line || [[ -n "$line" ]]; do
# Trim whitespace
folder="$(echo "$line" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')"
# Skip empty lines and comments
[[ -z "$folder" || "$folder" =~ ^# ]] && continue
SRC_PATH="$TARGET/$folder"
DEST_PATH="$HOME/$folder"
if [[ -d "$SRC_PATH" ]]; then
echo "Restoring $SRC_PATH -> $DEST_PATH"
mkdir -p "$DEST_PATH"
rsync -av --delete --backup --backup-dir="$HOME/.cfg_restore_backup_$(date +%F_%T)" \
--exclude='.git/' \
"$SRC_PATH/" "$DEST_PATH/"
else
echo "Skipping $SRC_PATH (not found)"
fi
done < "$FOLDERS_FILE"
echo "Restore complete."