From 316108268facb26bf78b111bfd1195dbee314a38 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Thu, 18 Jun 2020 13:33:12 +1000 Subject: [PATCH 1/3] Clone 'bare' dots package names from git.00dani.me/dot, rather than GitHub --- local/bin/dots | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/local/bin/dots b/local/bin/dots index 70be887..d6133e6 100755 --- a/local/bin/dots +++ b/local/bin/dots @@ -25,9 +25,9 @@ 'clone-one'() { local url=$1 local package=${${url##*/}%.git} - # Simple package names are fetched from my GitHub repos. - [[ $url != */* ]] && url=$GITHUB_USER/dot-$package - # user/repo packages are fetched from that user's repos. + # Simple package names are fetched from my Gitea dot repos. + [[ $url != */* ]] && url=https://git.00dani.me/dot/$package + # user/repo packages are fetched from that user's GitHub repos. [[ $url != *:* ]] && url=https://github.com/$url if [[ -d $DOTFILES/$package ]]; then echo "Looks like you already have $package cloned." >&2 From d01591a0d48ebb7530ad38e3e73f5df7d0b92b91 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Thu, 18 Jun 2020 13:34:41 +1000 Subject: [PATCH 2/3] Wrap the loose commands at the end of dots in a function too, to help guarantee harmless crashing if the script's download is interrupted --- local/bin/dots | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/local/bin/dots b/local/bin/dots index d6133e6..d62b977 100755 --- a/local/bin/dots +++ b/local/bin/dots @@ -128,22 +128,26 @@ done } -: ${DOTFILES:=~/dotfiles} ${STOW:=stow} ${GITHUB_USER:=00dani} +'main'() { + : ${DOTFILES:=~/dotfiles} ${STOW:=stow} ${GITHUB_USER:=00dani} -comm=$1 -if (( $# == 0 )); then - if [[ -d $DOTFILES ]]; then - comm=status - else - comm=bootstrap + comm=$1 + if (( $# == 0 )); then + if [[ -d $DOTFILES ]]; then + comm=status + else + comm=bootstrap + fi fi -fi -case $comm in - bootstrap) bootstrap ;; - clone) clone ${argv[2,-1]} ;; - fetch) fetch ${argv[2,-1]} ;; - link) link ${argv[2,-1]} ;; - pull) pull ${argv[2,-1]} ;; - st|status) status ${argv[2,-1]} ;; -esac + case $comm in + bootstrap) bootstrap ;; + clone) clone ${argv[2,-1]} ;; + fetch) fetch ${argv[2,-1]} ;; + link) link ${argv[2,-1]} ;; + pull) pull ${argv[2,-1]} ;; + st|status) status ${argv[2,-1]} ;; + esac +} + +'main' From 4288228da540b15e5f2412183e4ecd60d52cea83 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Thu, 18 Jun 2020 13:37:53 +1000 Subject: [PATCH 3/3] Make the 'bare' dots package prefix configurable, defaulting to my Gitea dot org --- local/bin/dots | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/local/bin/dots b/local/bin/dots index d62b977..2bb5992 100755 --- a/local/bin/dots +++ b/local/bin/dots @@ -25,8 +25,8 @@ 'clone-one'() { local url=$1 local package=${${url##*/}%.git} - # Simple package names are fetched from my Gitea dot repos. - [[ $url != */* ]] && url=https://git.00dani.me/dot/$package + # Simple package names are fetched from the configured source prefix. + [[ $url != */* ]] && url=$DOTS_SOURCE_PREFIX/$package # user/repo packages are fetched from that user's GitHub repos. [[ $url != *:* ]] && url=https://github.com/$url if [[ -d $DOTFILES/$package ]]; then @@ -129,7 +129,7 @@ } 'main'() { - : ${DOTFILES:=~/dotfiles} ${STOW:=stow} ${GITHUB_USER:=00dani} + : ${DOTFILES:=~/dotfiles} ${STOW:=stow} ${DOTS_SOURCE_PREFIX:=https://git.00dani.me/dot} comm=$1 if (( $# == 0 )); then