bin/bootstrap/replicate.sh

32 lines
1018 B
Bash
Executable File

#!/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 --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