summaryrefslogtreecommitdiff
path: root/playbooks.d/user-tyil/playbook.bash
diff options
context:
space:
mode:
authorPatrick Spek <p.spek@tyil.nl>2022-05-06 14:51:02 +0200
committerPatrick Spek <p.spek@tyil.nl>2022-05-06 14:51:02 +0200
commit555e8636bffccba2aa9fb8a801c9c37d3d2c4882 (patch)
treeaff019ade26ee96289282581bc0bb4f81f2242c5 /playbooks.d/user-tyil/playbook.bash
parent6d540b15e19d1ecc51d8dcac70cc3988d1c1ab82 (diff)
Add gittab
Diffstat (limited to 'playbooks.d/user-tyil/playbook.bash')
-rw-r--r--playbooks.d/user-tyil/playbook.bash24
1 files changed, 24 insertions, 0 deletions
diff --git a/playbooks.d/user-tyil/playbook.bash b/playbooks.d/user-tyil/playbook.bash
index de91595..00d5e8f 100644
--- a/playbooks.d/user-tyil/playbook.bash
+++ b/playbooks.d/user-tyil/playbook.bash
@@ -20,6 +20,7 @@ playbook_sync() {
sudo
zsh
)
+ local sharedir="$BASHTARD_ETCDIR/playbooks.d/$BASHTARD_PLAYBOOK/share"
notice "$BASHTARD_PLAYBOOK" "Installing all desired utilities"
for package in "${packages[@]}"
@@ -27,6 +28,29 @@ playbook_sync() {
pkg install "$package"
done
+ grep -v '^#' "$sharedir/gittab" | while read -r tab dir
+ do
+ dir="$(config "users.tyil.home")/$dir"
+
+ grep -v '^#' "$sharedir/gittab.d/$tab" | while read -r name repo branch
+ do
+ notice "$BASHTARD_PLAYBOOK" "Updating $dir/$name"
+
+ if [[ ! -d "$dir/$name" ]]
+ then
+ git clone \
+ --single-branch \
+ --branch "$branch" \
+ --depth 1 \
+ "$repo" \
+ "$dir/$name"
+ fi
+
+ git -C "$dir/$name" checkout "$branch"
+ git -C "$dir/$name" pull "$repo" "$branch"
+ done
+ done
+
[[ $BASHTARD_COMMAND == "add" ]] && return
notice "$BASHTARD_PLAYBOOK" "Updating dotfiles"