Make backup optional in transform script
This commit is contained in:
parent
a86b95dd58
commit
2fba1b571d
@ -72,7 +72,7 @@ fi
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
log "Actions:"
|
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 " 2. Install moonarch-git package (pulls in all dependencies)"
|
||||||
log " 3. Disable conflicting DMs, enable greetd"
|
log " 3. Disable conflicting DMs, enable greetd"
|
||||||
log " 4. Overwrite ALL user configs (~/.config/)"
|
log " 4. Overwrite ALL user configs (~/.config/)"
|
||||||
@ -139,33 +139,40 @@ if ! confirm "Proceed?"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Phase 3: Backup
|
# Phase 3: Backup (optional)
|
||||||
# ============================================================
|
# ============================================================
|
||||||
|
|
||||||
BACKUP_FILE="$HOME/moonarch-backup-$(date +%Y%m%d-%H%M%S).tar.gz"
|
BACKUP_FILE=""
|
||||||
log "Creating backup: $BACKUP_FILE"
|
SYSTEM_BACKUP=""
|
||||||
|
|
||||||
# Build list of paths that actually exist
|
if confirm "Create backup of current configs before overwriting?"; then
|
||||||
BACKUP_PATHS=()
|
BACKUP_FILE="$HOME/moonarch-backup-$(date +%Y%m%d-%H%M%S).tar.gz"
|
||||||
[[ -d "$HOME/.config" ]] && BACKUP_PATHS+=(".config")
|
log "Creating backup: $BACKUP_FILE"
|
||||||
[[ -f "$HOME/.zshrc" ]] && BACKUP_PATHS+=(".zshrc")
|
|
||||||
[[ -d "$HOME/.zshrc.d" ]] && BACKUP_PATHS+=(".zshrc.d")
|
|
||||||
|
|
||||||
if [[ ${#BACKUP_PATHS[@]} -gt 0 ]]; then
|
# Build list of paths that actually exist
|
||||||
tar czf "$BACKUP_FILE" -C "$HOME" "${BACKUP_PATHS[@]}"
|
BACKUP_PATHS=()
|
||||||
log " + User configs backed up."
|
[[ -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
|
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
|
# Phase 4: Disable Conflicting Display Managers
|
||||||
# ============================================================
|
# ============================================================
|
||||||
@ -356,10 +363,12 @@ log "============================================"
|
|||||||
log " Moonarch transform complete!"
|
log " Moonarch transform complete!"
|
||||||
log "============================================"
|
log "============================================"
|
||||||
echo ""
|
echo ""
|
||||||
log "Your previous config is backed up at:"
|
if [[ -n "$BACKUP_FILE" ]]; then
|
||||||
log " $BACKUP_FILE"
|
log "Your previous config is backed up at:"
|
||||||
if [[ -n "${SYSTEM_BACKUP:-}" ]]; then
|
log " $BACKUP_FILE"
|
||||||
log " $SYSTEM_BACKUP"
|
if [[ -n "$SYSTEM_BACKUP" ]]; then
|
||||||
|
log " $SYSTEM_BACKUP"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
log "Next steps:"
|
log "Next steps:"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user