From 2fba1b571d808125028ab2ca8f93aea403bd9b3c Mon Sep 17 00:00:00 2001 From: nevaforget Date: Mon, 30 Mar 2026 22:32:54 +0200 Subject: [PATCH] Make backup optional in transform script --- scripts/transform.sh | 61 +++++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/scripts/transform.sh b/scripts/transform.sh index 133373b..2bcfa5b 100755 --- a/scripts/transform.sh +++ b/scripts/transform.sh @@ -72,7 +72,7 @@ fi echo "" log "Actions:" -log " 1. Backup ~/.config/, ~/.zshrc, /etc/xdg/ to ~/moonarch-backup-.tar.gz" +log " 1. (Optional) Backup ~/.config/, ~/.zshrc, /etc/xdg/" log " 2. Install moonarch-git package (pulls in all dependencies)" log " 3. Disable conflicting DMs, enable greetd" log " 4. Overwrite ALL user configs (~/.config/)" @@ -139,33 +139,40 @@ if ! confirm "Proceed?"; then fi # ============================================================ -# Phase 3: Backup +# Phase 3: Backup (optional) # ============================================================ -BACKUP_FILE="$HOME/moonarch-backup-$(date +%Y%m%d-%H%M%S).tar.gz" -log "Creating backup: $BACKUP_FILE" +BACKUP_FILE="" +SYSTEM_BACKUP="" -# Build list of paths that actually exist -BACKUP_PATHS=() -[[ -d "$HOME/.config" ]] && BACKUP_PATHS+=(".config") -[[ -f "$HOME/.zshrc" ]] && BACKUP_PATHS+=(".zshrc") -[[ -d "$HOME/.zshrc.d" ]] && BACKUP_PATHS+=(".zshrc.d") +if confirm "Create backup of current configs before overwriting?"; then + BACKUP_FILE="$HOME/moonarch-backup-$(date +%Y%m%d-%H%M%S).tar.gz" + log "Creating backup: $BACKUP_FILE" -if [[ ${#BACKUP_PATHS[@]} -gt 0 ]]; then - tar czf "$BACKUP_FILE" -C "$HOME" "${BACKUP_PATHS[@]}" - log " + User configs backed up." + # Build list of paths that actually exist + BACKUP_PATHS=() + [[ -d "$HOME/.config" ]] && BACKUP_PATHS+=(".config") + [[ -f "$HOME/.zshrc" ]] && BACKUP_PATHS+=(".zshrc") + [[ -d "$HOME/.zshrc.d" ]] && BACKUP_PATHS+=(".zshrc.d") + + if [[ ${#BACKUP_PATHS[@]} -gt 0 ]]; then + tar czf "$BACKUP_FILE" -C "$HOME" "${BACKUP_PATHS[@]}" + log " + User configs backed up." + fi + + # Backup system XDG separately (needs sudo) + if [[ -d /etc/xdg ]]; then + SYSTEM_BACKUP="$HOME/moonarch-backup-system-$(date +%Y%m%d-%H%M%S).tar.gz" + sudo tar czf "$SYSTEM_BACKUP" -C / etc/xdg + sudo chown "$USER:$USER" "$SYSTEM_BACKUP" + log " + System configs backed up: $SYSTEM_BACKUP" + fi + + log "Backup complete: $(du -h "$BACKUP_FILE" | cut -f1)" +else + log "Skipping backup." fi -# Backup system XDG separately (needs sudo) -if [[ -d /etc/xdg ]]; then - SYSTEM_BACKUP="$HOME/moonarch-backup-system-$(date +%Y%m%d-%H%M%S).tar.gz" - sudo tar czf "$SYSTEM_BACKUP" -C / etc/xdg - sudo chown "$USER:$USER" "$SYSTEM_BACKUP" - log " + System configs backed up: $SYSTEM_BACKUP" -fi - -log "Backup complete: $(du -h "$BACKUP_FILE" | cut -f1)" - # ============================================================ # Phase 4: Disable Conflicting Display Managers # ============================================================ @@ -356,10 +363,12 @@ log "============================================" log " Moonarch transform complete!" log "============================================" echo "" -log "Your previous config is backed up at:" -log " $BACKUP_FILE" -if [[ -n "${SYSTEM_BACKUP:-}" ]]; then - log " $SYSTEM_BACKUP" +if [[ -n "$BACKUP_FILE" ]]; then + log "Your previous config is backed up at:" + log " $BACKUP_FILE" + if [[ -n "$SYSTEM_BACKUP" ]]; then + log " $SYSTEM_BACKUP" + fi fi echo "" log "Next steps:"