summaryrefslogtreecommitdiff
path: root/home-manager/resources/activation-scripts/clone-repos.sh
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2025-08-26 21:36:16 -0500
committerTim Keller <tjk@tjkeller.xyz>2025-08-26 21:36:16 -0500
commitc3c3d6f1fd19a5da015c9a9d3ae5c54f2d177be0 (patch)
tree559a0d9385df907f471b9bdd2bf708ec4650c718 /home-manager/resources/activation-scripts/clone-repos.sh
parent125313aabedb17516d735a718968bfad1289f12b (diff)
downloadnixos-master.tar.xz
nixos-master.zip
reogranize files more only working on optiplex for now prepare for home manager refactoringHEADmaster
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 ''