summaryrefslogtreecommitdiff
path: root/nixos/parts/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/parts/scripts')
-rwxr-xr-xnixos/parts/scripts/deploy-dir16
1 files changed, 16 insertions, 0 deletions
diff --git a/nixos/parts/scripts/deploy-dir b/nixos/parts/scripts/deploy-dir
new file mode 100755
index 0000000..bb7dfdf
--- /dev/null
+++ b/nixos/parts/scripts/deploy-dir
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+if [ "$#" -ne 3 ]; then
+ echo "usage: $0 <local_dir> <ssh_dest> <remote_dir>"
+ exit 1
+fi
+printf -v remote_dir %q $3
+
+cd $1
+tar cf - . | ssh $2 "set -xe
+TEMP_DIR=\$(mktemp -d)
+cd \$TEMP_DIR
+tar xvf -
+rm -rf $remote_dir
+mv \$TEMP_DIR $remote_dir
+"