From 3b4590b1a745b06ce36cb558a4749923675e9b35 Mon Sep 17 00:00:00 2001 From: Jake Koroman Date: Sun, 1 Jun 2025 10:55:23 -0400 Subject: Ready. Set. Go! --- deploy.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 deploy.sh (limited to 'deploy.sh') diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..fb2d879 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +# stolen from: https://github.com/rexim/dotfiles/blob/master/deploy.sh + +SCRIPT_DIR="$( cd "$( dirname "$BASH_SOURCE[0]" )" && pwd )" + +symlinkFile() { + filename="$SCRIPT_DIR/$1" + destination="$HOME/$2/$1" + + mkdir -p $(dirname "$destination") + + if [ ! -L "$destination" ]; then + if [ -e "$destination" ]; then + echo "[ERROR] $destination exists but it's not a symlink. Please fix that manually" && exit 1 + else + ln -s "$filename" "$destination" + echo "[OK] $filename -> $destination" + fi + else + echo "[WARNING] $filename already symlinked" + fi +} + +deployManifest() { + for row in $(cat $SCRIPT_DIR/$1); do + filename=$(echo $row | cut -d \| -f 1) + operation=$(echo $row | cut -d \| -f 2) + destination=$(echo $row | cut -d \| -f 3) + + case $operation in + symlink) + symlinkFile $filename $destination + ;; + + *) + echo "[WARNING] Unknown operation $operation. Skipping..." + ;; + esac + done +} + +echo "--- Configs ---" +deployManifest MANIFEST -- cgit v1.2.3