71 lines
2.7 KiB
Bash
71 lines
2.7 KiB
Bash
#!/usr/bin/env bash
|
|
# samurai setup script — run from Claude Code (Git Bash) on samurai
|
|
# Usage: bash setup.sh
|
|
|
|
set -e
|
|
MONK="100.85.209.116"
|
|
MONK_GIT_PORT="2222"
|
|
VAULT="$HOME/obsidian-vault"
|
|
STUDY="$HOME/study-tracker"
|
|
|
|
echo "=== KiteStacks Samurai Setup ==="
|
|
|
|
# ── Step 1: SSH host key ──────────────────────────────────────────────
|
|
echo "[1/5] Adding Forgejo host key..."
|
|
mkdir -p ~/.ssh
|
|
ssh-keyscan -p $MONK_GIT_PORT $MONK >> ~/.ssh/known_hosts 2>/dev/null
|
|
echo " done"
|
|
|
|
# ── Step 2: Clone obsidian vault ──────────────────────────────────────
|
|
echo "[2/5] Cloning obsidian-vault..."
|
|
if [ -d "$VAULT" ]; then
|
|
echo " already exists, pulling latest..."
|
|
git -C "$VAULT" pull
|
|
else
|
|
git clone ssh://git@${MONK}:${MONK_GIT_PORT}/kenpat/obsidian-vault.git "$VAULT"
|
|
fi
|
|
echo " done: $VAULT"
|
|
|
|
# ── Step 3: Clone study tracker ───────────────────────────────────────
|
|
echo "[3/5] Cloning study-tracker..."
|
|
if [ -d "$STUDY" ]; then
|
|
echo " already exists, pulling latest..."
|
|
git -C "$STUDY" pull
|
|
else
|
|
git clone ssh://git@${MONK}:${MONK_GIT_PORT}/kenpat/study-tracker.git "$STUDY"
|
|
fi
|
|
echo " done: $STUDY"
|
|
|
|
# ── Step 4: Configure git identity ───────────────────────────────────
|
|
echo "[4/5] Configuring git..."
|
|
git -C "$VAULT" config user.email "kenpat7177@gmail.com"
|
|
git -C "$VAULT" config user.name "kenpat"
|
|
git -C "$STUDY" config user.email "kenpat7177@gmail.com"
|
|
git -C "$STUDY" config user.name "kenpat"
|
|
echo " done"
|
|
|
|
# ── Step 5: Obsidian auto-start ───────────────────────────────────────
|
|
echo "[5/5] Setting up Obsidian auto-start..."
|
|
STARTUP="$APPDATA/Microsoft/Windows/Start Menu/Programs/Startup"
|
|
OBSIDIAN_EXE=$(find "$LOCALAPPDATA/Programs/obsidian" -name "Obsidian.exe" 2>/dev/null | head -1)
|
|
|
|
if [ -n "$OBSIDIAN_EXE" ]; then
|
|
powershell.exe -ExecutionPolicy Bypass -Command "
|
|
\$lnk = (New-Object -ComObject WScript.Shell).CreateShortcut('$STARTUP\Obsidian.lnk')
|
|
\$lnk.TargetPath = '$OBSIDIAN_EXE'
|
|
\$lnk.Arguments = '--vault \"$VAULT\"'
|
|
\$lnk.Save()
|
|
Write-Host 'Auto-start shortcut created'
|
|
"
|
|
else
|
|
echo " Obsidian.exe not found — install Obsidian first then re-run this script"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Setup complete ==="
|
|
echo " Vault: $VAULT"
|
|
echo " Study log: $STUDY"
|
|
echo " Auto-start: Obsidian opens on login"
|
|
echo ""
|
|
echo "Next: Open Obsidian, select vault at $VAULT"
|
|
echo " Install plugins: Git + Pomodoro Timer"
|