Make backup optional in transform script
This commit is contained in:
parent
a86b95dd58
commit
2fba1b571d
@ -72,7 +72,7 @@ fi
|
||||
|
||||
echo ""
|
||||
log "Actions:"
|
||||
log " 1. Backup ~/.config/, ~/.zshrc, /etc/xdg/ to ~/moonarch-backup-<ts>.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:"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user