From 476fafe75f23802ea9a28ed3c00a245c7db13f91 Mon Sep 17 00:00:00 2001 From: Mosder Date: Wed, 10 Jun 2026 03:23:10 +0200 Subject: added shell scripts to load config from repo and update repo from disk --- load_config.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 load_config.sh (limited to 'load_config.sh') diff --git a/load_config.sh b/load_config.sh new file mode 100755 index 0000000..ec59828 --- /dev/null +++ b/load_config.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +# Ensure good argument is passed +if [[ $# -ne 1 ]]; then + echo "Usage: $0 (desktop | laptop)" + exit 1 +elif [[ "$1" != "laptop" && "$1" != "desktop" ]]; then + echo "Target must be \"laptop\" or \"desktop\"" + exit 1 +fi + +TARGET=$1 +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +make_dir() { + local dir="$1" + echo "mkdir -p $dir" + if ! mkdir -p "$dir" 2>/dev/null; then + echo "Failed - using sudo..." + sudo mkdir -p "$dir" + fi +} + +copy_file() { + local src="$1" + local dest="$2" + echo "cp -a $src $dest" + if ! cp -a "$src" "$dest" 2>/dev/null; then + echo "Failed - using sudo..." + sudo cp -a "$src" "$dest" + fi +} + +copy_to_disk() { + local root="$1" + cd "$root" + + find . -mindepth 1 | while read -r node; do + # ./node -> /node + dest="${node#.}" + + if [[ -d "$node" ]]; then + make_dir "$dest" + else + make_dir "$(dirname "$dest")" + copy_file "$node" "$dest" + fi + done +} + +copy_to_disk "$SCRIPT_DIR/common" +copy_to_disk "$SCRIPT_DIR/$TARGET" + +cd "$SCRIPT_DIR" +echo "Done." -- cgit v1.2.3