summaryrefslogtreecommitdiff
path: root/home-manager/resources/activation-scripts/clone-repos.sh
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/resources/activation-scripts/clone-repos.sh')
-rw-r--r--home-manager/resources/activation-scripts/clone-repos.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/home-manager/resources/activation-scripts/clone-repos.sh b/home-manager/resources/activation-scripts/clone-repos.sh
new file mode 100644
index 0000000..eaee4dc
--- /dev/null
+++ b/home-manager/resources/activation-scripts/clone-repos.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+server="https://git.tjkeller.xyz/"
+
+clonemissing() {
+ # pull and return if already existing
+ if [ -d "$2"/.git ]; then
+ run cd $VERBOSE_ARG "$2"
+ run git pull $VERBOSE_ARG || echo "$2: failed to pull from remote"
+ return
+ fi
+
+ # clone to $2
+ run mkdir -p $VERBOSE_ARG "$2"
+ run git clone $VERBOSE_ARG "$server$1" "$2"
+
+ # link to $3
+ [ -z "$3" ] && return
+ run mkdir -p $VERBOSE_ARG "$3"
+ run ln -sf $VERBOSE_ARG "$2"/* "$3"
+}
+
+# # repo # clone to # link to
+clonemissing scripts $HOME/docs/src/scripts $HOME/.local/bin
+clonemissing dotconfig $HOME/docs/src/config $HOME/.config
+clonemissing userscripts $HOME/docs/src/userscripts ''
+clonemissing nixos $HOME/docs/src/nixos ''
+clonemissing awesome $HOME/.config/awesome ''
+clonemissing nvim $HOME/.config/nvim ''
+clonemissing zsh $HOME/.config/zsh ''