diff --git a/checkin-all b/checkin-all index 0ac19f9..8ed5ea8 100755 --- a/checkin-all +++ b/checkin-all @@ -4,6 +4,19 @@ set -euo pipefail INTERACTIVE=true for arg in "$@"; do case "$arg" in + --help|-h) + cat <<'EOF' +Usage: checkin-all [options] + +Check git status for all repos matching *schmeeve* in ~/git/, +and interactively prompt to commit & push changes. + +Options: + -n, --no-interactive Auto-commit changes with timestamp message + -h, --help Show this help message and exit +EOF + exit 0 + ;; --no-interactive|-n) INTERACTIVE=false ;; esac done diff --git a/pull-all b/pull-all index 392e72a..c03191e 100755 --- a/pull-all +++ b/pull-all @@ -1,6 +1,22 @@ #!/bin/bash set -euo pipefail +for arg in "$@"; do + case "$arg" in + --help|-h) + cat <<'EOF' +Usage: pull-all [options] + +Pull latest changes for all repos matching *schmeeve* in ~/git/. + +Options: + -h, --help Show this help message and exit +EOF + exit 0 + ;; + esac +done + GIT_HOME="${HOME}/git" for dir in "${GIT_HOME}"/*/ "${HOME}/Dotfiles"; do diff --git a/sync-pictures b/sync-pictures index 93945db..b98976d 100755 --- a/sync-pictures +++ b/sync-pictures @@ -9,6 +9,22 @@ # # Adjust SHARE and SUBPATH to match your environment. +for arg in "$@"; do + case "$arg" in + --help|-h) + cat <<'EOF' +Usage: sync-pictures [options] + +Sync ~/Pictures to a NAS share and run neatcli organize on both ends. + +Options: + -h, --help Show this help message and exit +EOF + exit 0 + ;; + esac +done + SHARE="//mini.nas/miniShare1" SUBPATH="Pictures" MOUNTPOINT="${HOME}/mnt/miniShare1" diff --git a/sync-webgoggles b/sync-webgoggles index 56f7ccc..37fe5ed 100755 --- a/sync-webgoggles +++ b/sync-webgoggles @@ -13,6 +13,22 @@ # # Adjust SHARE, SUBPATH, and SOURCE to match your environment. +for arg in "$@"; do + case "$arg" in + --help|-h) + cat <<'EOF' +Usage: sync-webgoggles [options] + +Sync ~/webGoggles to a NAS share, with deduplication and old-session thinning. + +Options: + -h, --help Show this help message and exit +EOF + exit 0 + ;; + esac +done + SHARE="//ts.nas/aura" SUBPATH="webGoggles" MOUNTPOINT="${HOME}/mnt/ts.nas/aura" @@ -46,7 +62,16 @@ else echo "[sync-webgoggles] Mounted at ${MOUNTPOINT}" fi -# 2. One-way rsync of SOURCE into the share subpath +# 2. Run pick-most-skin on local source to find best screenshot per user +PICK_SCRIPT="$(dirname "$0")/pick-most-skin" +if [ -x "${PICK_SCRIPT}" ]; then + echo "[sync-webgoggles] Running ${PICK_SCRIPT} ${SOURCE}" + "${PICK_SCRIPT}" "${SOURCE}" +else + echo "[sync-webgoggles] Warning: ${PICK_SCRIPT} not found, skipping" +fi + +# 3. One-way rsync of SOURCE into the share subpath MP="${MOUNTPOINT}/${SUBPATH}" mkdir -p "${MP}" echo "[sync-webgoggles] Syncing ${SOURCE}/ → ${MP}/" @@ -58,7 +83,7 @@ rsync -vrau \ --exclude=".DS_Store" \ --progress --stats -# 3. Cleanup: deduplicate and thin old screenshots on destination +# 4. Cleanup: deduplicate and thin old screenshots on destination cleanup_destination() { local dest="$1" local thin_days="${2:-42}" # default 6 weeks