#! /bin/sh
#
# nixos-fetch-git : nixos-config -> ...
#
set -euf

host=$1

target=root@$host

git_rev=$(nixos-query "$host" nixpkgs.rev)
git_url=$(nixos-query "$host" nixpkgs.url)

worktree=$nixpkgs_root/$host

if [ ! -d "$worktree" ]; then
  mkdir -p "$worktree"
fi

cd "$worktree"

git init -q

if ! current_url=$(git config remote.src.url); then
  git remote add src "$git_url"
elif [ "$current_url" != "$git_url" ]; then
  git remote set-url src "$git_url"
fi

git fetch src

git checkout "$git_rev"