Files
setup_mac/apply_iterm2.sh
T

32 lines
1.3 KiB
Bash

#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROFILE_FILE="$SCRIPT_DIR/iterm2-settings/profile.json"
DYNAMIC_DIR="$HOME/Library/Application Support/iTerm2/DynamicProfiles"
TARGET_FILE="$DYNAMIC_DIR/NAD4Profile.json"
# Validate before replacing the active profile. Backups belong outside DynamicProfiles.
plutil -convert xml1 -o /dev/null "$PROFILE_FILE"
PROFILE_GUID=$(plutil -extract Guid raw -o - "$PROFILE_FILE")
PROFILE_NAME=$(plutil -extract Name raw -o - "$PROFILE_FILE")
[ -n "$PROFILE_GUID" ] && [ -n "$PROFILE_NAME" ]
mkdir -p "$DYNAMIC_DIR"
if [ -f "$TARGET_FILE" ]; then
BACKUP_DIR="$HOME/Library/Application Support/iTerm2/ProfileBackups"
mkdir -p "$BACKUP_DIR"
cp "$TARGET_FILE" "$BACKUP_DIR/NAD4Profile.$(date +%Y%m%d_%H%M%S).json"
fi
TEMP_FILE=$(mktemp "${TMPDIR:-/tmp}/nad4-iterm.XXXXXX")
trap 'rm -f "$TEMP_FILE"' EXIT
{
printf '{"Profiles": ['
cat "$PROFILE_FILE"
printf ']}\n'
} > "$TEMP_FILE"
plutil -convert xml1 -o /dev/null "$TEMP_FILE"
cp "$TEMP_FILE" "$TARGET_FILE"
defaults write com.googlecode.iterm2 "Default Bookmark Guid" -string "$PROFILE_GUID"
echo "✅ iTerm2 기본 프로파일 적용: $PROFILE_NAME"
echo " 기존 세션은 유지됩니다. 새 창(⌘N)에서 테마와 폰트를 확인하세요."