commit be89134c23a5ed242e5e26e05e83b9f7d1365fd0 Author: Salt Date: Fri Aug 24 17:30:41 2018 -0500 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/replicate.sh b/replicate.sh new file mode 100755 index 0000000..14e6518 --- /dev/null +++ b/replicate.sh @@ -0,0 +1,31 @@ +#!/bin/sh +deps="git rsync" +for dep in $deps; do + if ! which $dep > /dev/null 2>&1; then + printf "$0: error: could not find program \"$dep\" in PATH\n" 1>&2 + exit 1 + fi +done + +tempfolder="/tmp/dots-`whoami`" +gitdir="$PWD/.dotfiles" +homedir="$PWD" +repo='git@gitlab.com:rehashedsalt/home.git' +config='git --git-dir="$gitdir" --work-tree="$homedir"' + +git clone --recursive --depth 100 --separate-git-dir="$gitdir" "$repo" "$tempfolder" +error="$?" +if ! [ "$error" == "0" ]; then + printf "$0: error: failed cloning repository \"$repo\": $error\n" 1>&2 + printf "Do you have the appropriate permissions? Does the remote host know your key?\n" + exit 2 +fi +rsync -rvl --exclude ".git" $tempfolder/ $homedir/ +rm -r $tempfolder +$config submodule update --init --recursive --remote +$config config status.showUntrackedFiles no +printf "$0: dotfiles set up successfully\n" +printf "Be sure and configure the following before issuing any commits:\n" +printf " git config --global user.email\n" +printf " git config --global user.name\n" +exit 0