#!/bin/sh logfile="$HOME/post-install.log" touch "$logfile" echo "fixing perms on gpg directory" { chown -R "$(whoami)" "$HOME/.gnupg/" find "$HOME/.gnupg" -type f -exec chmod 600 {} \; find "$HOME/.gnupg" -type d -exec chmod 700 {} \; } >> "$logfile" 2>&1 echo "fixing remote repositories" { for entry in \ "$HOME/.dotfiles:git@cjennings.net:dotfiles.git" \ "$HOME/.emacs.d:git@cjennings.net:dotemacs.git" do dir="${entry%%:*}" url="${entry#*:}" if [ ! -d "$dir/.git" ]; then echo "skip: $dir is not a git checkout" continue fi if git -C "$dir" remote | grep -qx origin; then git -C "$dir" remote set-url origin "$url" else git -C "$dir" remote add origin "$url" fi git -C "$dir" pull --set-upstream origin main || true done } >> "$logfile" 2>&1 echo "cloning git repos" { mkdir -p "$HOME/sync" "$HOME/pictures" "$HOME/code" "$HOME/projects" clone_if_missing() { _remote="$1" _dest="$2" _depth="${3:-}" if [ -e "$_dest" ]; then echo "skip: $_dest already exists" return 0 fi if [ -n "$_depth" ]; then git clone --depth "$_depth" "$_remote" "$_dest" else git clone "$_remote" "$_dest" fi } clone_if_missing cjennings@cjennings.net:git/org.git "$HOME/sync/org" clone_if_missing cjennings@cjennings.net:git/wallpaper.git "$HOME/pictures/wallpaper" 1 clone_if_missing git@cjennings.net:dwm.git "$HOME/code/dwm" clone_if_missing git@cjennings.net:dmenu.git "$HOME/code/dmenu" clone_if_missing git@cjennings.net:st.git "$HOME/code/st" clone_if_missing git@cjennings.net:slock.git "$HOME/code/slock" clone_if_missing git@cjennings.net:pinentry-dmenu.git "$HOME/code/pinentry-dmenu" clone_if_missing git@github.com:cjennings/pocketbook.git "$HOME/code/pocketbook" clone_if_missing cjennings@cjennings.net:git/bsdsetup.git "$HOME/code/bsdsetup" clone_if_missing git@cjennings.net:git/archsetup.git "$HOME/code/archsetup" clone_if_missing git@cjennings.net:dotemacs.git "$HOME/code/dotemacs" clone_if_missing cjennings@cjennings.net:git/wttrin.git "$HOME/code/wttrin.git" clone_if_missing cjennings@cjennings.net:git/rsyncshot.git "$HOME/code/rsyncshot.git" clone_if_missing cjennings@cjennings.net:git/exercism.git "$HOME/code/exercism" clone_if_missing cjennings@cjennings.net:git/elisp.git "$HOME/code/elisp" clone_if_missing cjennings@cjennings.net:git/clisp.git "$HOME/code/clisp" clone_if_missing cjennings@cjennings.net:git/lcthw.git "$HOME/code/lcthw" clone_if_missing cjennings@cjennings.net:git/100dayspython.git "$HOME/code/100dayspython" clone_if_missing cjennings@cjennings.net:git/documents.git "$HOME/projects/documents" clone_if_missing cjennings@cjennings.net:git/kit.git "$HOME/projects/kit" clone_if_missing cjennings@cjennings.net:git/clipper.git "$HOME/projects/clipper" clone_if_missing cjennings@cjennings.net:git/finances.git "$HOME/projects/finances" clone_if_missing cjennings@cjennings.net:git/nasbuild.git "$HOME/projects/nasbuild" clone_if_missing cjennings@cjennings.net:git/nextjob.git "$HOME/projects/nextjob" clone_if_missing cjennings@cjennings.net:git/elibrary.git "$HOME/projects/elibrary" clone_if_missing cjennings@cjennings.net:git/danneel-hoa.git "$HOME/projects/danneel-hoa" clone_if_missing cjennings@cjennings.net:git/danneel-remodel.git "$HOME/projects/danneel-remodel" } >> "$logfile" 2>&1 printf "\n\nDone.\n\n"