#!/bin/bash ################################################################################ # # projector # Updates ${HOME}/Projects against the public repos at git.tty.dog # # Requires jq # ################################################################################ # Ensure ${HOME}/Projects exists and set it as the working directory PROJECTS_DIR="${HOME}/Projects" if [ ! -d "${PROJECTS_DIR}" ]; then mkdir "${PROJECTS_DIR}" set-icon "${PROJECTS_DIR}" folder-code fi cd "${PROJECTS_DIR}" # Perform a blobless clone of all public repos at git.tty.dog API_URL="https://git.tty.dog/api/v1/repos/search" for CLONE_URL in $(curl -s "${API_URL}?uid=1" | jq -r ".data.[].clone_url"); do git clone --no-checkout --filter=blob:none "${CLONE_URL}" done