1
dot-files/bin/projector

25 lines
767 B
Bash
Executable File

#!/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