41 lines
738 B
Bash
Executable File
41 lines
738 B
Bash
Executable File
#!/usr/bin/env bash
|
||
|
||
set -euo pipefail
|
||
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
BLUE='\033[0;34m'
|
||
NC='\033[0m'
|
||
|
||
print_info() {
|
||
echo -e "${BLUE}ℹ ${NC} $1"
|
||
}
|
||
|
||
print_success() {
|
||
echo -e "${GREEN}✓${NC} $1"
|
||
}
|
||
|
||
print_error() {
|
||
echo -e "${RED}✗${NC} $1"
|
||
}
|
||
|
||
print_warning() {
|
||
echo -e "${YELLOW}⚠${NC} $1"
|
||
}
|
||
|
||
print_info "Available generations:"
|
||
darwin-rebuild --list-generations
|
||
|
||
echo -n "Enter generation number to rollback to: "
|
||
read -r GEN_NUM
|
||
|
||
if [[ -z "$GEN_NUM" ]]; then
|
||
print_error "No generation number provided"
|
||
exit 1
|
||
fi
|
||
|
||
print_warning "Rolling back to generation $GEN_NUM..."
|
||
darwin-rebuild switch --switch-generation "$GEN_NUM"
|
||
|
||
print_success "Rollback to generation $GEN_NUM complete" |