summaryrefslogtreecommitdiff
path: root/.old/sync/pull
diff options
context:
space:
mode:
authorTim Keller <tjkeller.xyz>2024-11-17 23:34:54 -0600
committerTim Keller <tjkeller.xyz>2024-11-17 23:34:54 -0600
commit09ada24d4ec23cf24ab136141b354953d1bbc2fa (patch)
tree2c41e87c71ad3f3cd67a8bea0c1413efbab4087d /.old/sync/pull
parent090a3a31683eb08b91351e4d1508a0a73a310a38 (diff)
downloadscripts-09ada24d4ec23cf24ab136141b354953d1bbc2fa.tar.xz
scripts-09ada24d4ec23cf24ab136141b354953d1bbc2fa.zip
reorganize scripts
Diffstat (limited to '.old/sync/pull')
-rwxr-xr-x.old/sync/pull57
1 files changed, 57 insertions, 0 deletions
diff --git a/.old/sync/pull b/.old/sync/pull
new file mode 100755
index 0000000..f52ec5e
--- /dev/null
+++ b/.old/sync/pull
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+printusage() { echo "Usage: $0 [-b,--build] [<repo> ...] (repos: all,`echo $repos | tr ' ' ','`)" && exit; }
+
+repos=$repos"blr dmenu dotconfig scripts st timmywm" #repos=$repos"dotconfig|dwmpatches|scripts|st|timmywm"
+
+[ -z $1 ] || [ `echo "$@" | tr ' ' '\n' | grep -v -c '\-'` = 0 ] && printusage
+
+# Colors
+BOLD="\033[1m"
+NORM="\033[0m"
+CYN="\033[0;36m"
+RED="\033[0;31m"
+GRN="\033[0;32m"
+MAG="\033[0;35m"
+
+printsyncmsg() { echo "$CYN[Pulling repo '$arg'...]$NORM"; }
+printsuccess() { echo "$BOLD$GRN[Successfully pulled repo '$arg']$NORM"; }
+printerror() { echo "$BOLD$RED[Failed to pull repo '$arg']$NORM"; }
+
+#change colors
+printmakemsg() { echo "$MAG[Building repo '$arg'...]$NORM"; }
+printmakesuccess() { echo "$BOLD$GRN[Successfully built repo '$arg']$NORM"; }
+printmakeerror() { echo "$BOLD$RED[Failed to build repo '$arg']$NORM"; }
+
+pullrepo() {
+ printsyncmsg
+ cd $1 && git pull --verbose \
+ && printsuccess || printerror
+}
+makerepo() {
+ if echo "$opts" | grep '\-b'; then
+ printmakemsg
+ ${SUDO:-sudo} make clean install \
+ && printmakesuccess || printmakeerror
+ fi
+}
+makeautoconf() { make autoconfig && echo "$BOLD$GRN[Automatically configured '$repo']$NORM"; }
+
+pullblr() { pullrepo ~/.local/src/programs/blr; }
+pulldmenu() { pullrepo ~/.local/src/programs/dmenu && makeautoconf && makerepo; }
+pulldotconfig() { pullrepo ~/.config; }
+pullscripts() { pullrepo ~/.local/bin; }
+pullst() { pullrepo ~/.local/src/programs/st && makeautoconf && makerepo; }
+pulltimmywm() { pullrepo ~/.local/src/programs/timmywm && makeautoconf && makerepo; }
+
+for arg in "$@"; do
+ case $arg in
+ -b|--build) opts="$opts-b" ;;
+ all) $0 $opts $repos ;;
+ *) # Would like to use something like $repos) here but cant
+ for repo in $repos; do
+ [ "$arg" = "$repo" ] && pull$arg && break
+ done || printusage
+ ;;
+ esac
+done