aboutsummaryrefslogtreecommitdiff
path: root/sync-all
diff options
context:
space:
mode:
Diffstat (limited to 'sync-all')
-rwxr-xr-x[l---------]sync-all52
1 files changed, 51 insertions, 1 deletions
diff --git a/sync-all b/sync-all
index e737e41..1d1ccc9 120000..100755
--- a/sync-all
+++ b/sync-all
@@ -1 +1,51 @@
-sync-code \ No newline at end of file
+#!/bin/bash
+#
+# sync code or home folder across systems
+#
+
+BASENAME="`basename $0`"
+DEST="$1"
+UNISON="unison"
+
+# Use the following config if you need to sync with legacy systems
+UNISON="unison-2.32.52"
+
+function sync_code_run {
+ local config="$1"
+
+ if [ -z "$config" ]; then
+ return
+ fi
+
+ if [ -f "$HOME/.unison/$config.prf" ]; then
+ echo "Starting sync using $config..."
+ $UNISON $config
+ else
+ echo "Skipping absent profile $config."
+ return
+ fi
+}
+
+if [ ! -z "$DEST" ]; then
+ profiles=""
+
+ if [ "$BASENAME" == "sync-code" ] || [ "$BASENAME" == "sync-all" ]; then
+ profiles="$profiles $DEST-code"
+ fi
+
+ if [ "$BASENAME" == "sync-irssi" ] || [ "$BASENAME" == "sync-all" ]; then
+ profiles="$profiles $DEST-irssi"
+ fi
+
+ if [ "$BASENAME" == "sync-irssi-tor" ] || [ "$BASENAME" == "sync-all" ]; then
+ profiles="$profiles $DEST-irssi-tor"
+ fi
+
+ if [ "$BASENAME" == "sync-home" ] || [ "$BASENAME" == "sync-all" ]; then
+ profiles="$profiles $DEST-home"
+ fi
+
+ for profile in $profiles; do
+ sync_code_run $profile
+ done
+fi