blob: 9045398bfa25465c6893420b7677fbc49904217b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
#!/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 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"
|