#!/bin/sh
set -e

#
# This script should be run via curl:
#   sh -c "$(curl -fsSL https://gitlab.hedenstroem.com/-/snippets/22/raw/main/install-dotfiles.sh)"
# or via wget:
#   sh -c "$(wget -qO- https://gitlab.hedenstroem.com/-/snippets/22/raw/main/install-dotfiles.sh)"
# or via fetch:
#   sh -c "$(fetch -o - https://gitlab.hedenstroem.com/-/snippets/22/raw/main/install-dotfiles.sh)"
#
# As an alternative, you can first download the install script and run it afterwards:
#   wget https://gitlab.hedenstroem.com/-/snippets/22/raw/main/install-dotfiles.sh
#   sh install.sh

USER=${USER:-$(id -u -n)}
HOME="${HOME:-$(getent passwd $USER 2>/dev/null | cut -d: -f6)}"
HOME="${HOME:-$(eval echo ~$USER)}"
TIMESTAMP=$(date +%s)

command_exists() {
    command -v "$@" >/dev/null 2>&1
}

setup_dotfiles() {
    if [ ! -d "${HOME}/.dotfiles" ]; then
        git clone --depth=1 git@gitlab.hedenstroem.com:erik/dotfiles.git "${HOME}/.dotfiles"
    fi
}

main() {

    command_exists git || {
        echo "git is not installed"
        exit 1
    }

    setup_dotfiles

    sh "${HOME}/.dotfiles/bootstrap.sh" 

}

main "$@"