From b398cc665b4f9aa578ac770c18a44c328109f6df Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Tue, 3 Feb 2026 20:31:13 +0000 Subject: [PATCH] Add sync-dotfiles-remote.sh script One-liner to sync dotfiles to remote machines without chezmoi: - Creates archive with chezmoi archive - SCPs to remote - Extracts to home directory - Installs Claude plugins if CLI available --- .../bin/executable_sync-dotfiles-remote.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 dot_local/bin/executable_sync-dotfiles-remote.sh diff --git a/dot_local/bin/executable_sync-dotfiles-remote.sh b/dot_local/bin/executable_sync-dotfiles-remote.sh new file mode 100644 index 0000000..256c7b6 --- /dev/null +++ b/dot_local/bin/executable_sync-dotfiles-remote.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Sync dotfiles to remote machine without chezmoi +# Usage: ./sync-dotfiles-remote.sh user@host + +set -e + +REMOTE="${1:?Usage: $0 user@host}" + +echo "Creating dotfiles archive..." +chezmoi archive --output=/tmp/dotfiles.tar.gz + +echo "Copying to $REMOTE..." +scp /tmp/dotfiles.tar.gz "$REMOTE":/tmp/ + +echo "Extracting and setting up Claude plugins..." +ssh "$REMOTE" 'cd ~ && tar -xzf /tmp/dotfiles.tar.gz && rm /tmp/dotfiles.tar.gz && if command -v claude &>/dev/null; then claude /add-marketplace anthropics/claude-plugins-official 2>/dev/null || true; claude /add-marketplace anthropics/skills 2>/dev/null || true; claude /add-marketplace obra/superpowers-marketplace 2>/dev/null || true; claude /install-plugin code-simplifier@claude-plugins-official 2>/dev/null || true; claude /install-plugin ralph-loop@claude-plugins-official 2>/dev/null || true; claude /install-plugin superpowers@claude-plugins-official 2>/dev/null || true; echo "Claude plugins installed"; else echo "Claude CLI not found, skipping plugins"; fi' + +echo "Done!"