#!/usr/bin/env sh
#!nix-shell -i "bash" -p bash prefetch-npm-deps jq nodejs nix-output-monitor
. "$(dirname -- "$0")/_/husky.sh"

# Check if nix is available
if [ -n "$(find "flake.lock" -mtime +7 -print)" ]; then
  if [ -x "$(/usr/bin/env which nix-shell 2>/dev/null)" ]; then
    # Check if we haven't re-executed ourselves yet
    if [ ! "$HOOK_NIX_SHELL" ]; then
      echo "Nix is available, updating nix flake..."
      export HOOK_NIX_SHELL=1
      nix-shell $0
      exit $?
    else
       nix flake update --extra-experimental-features 'nix-command flakes'
       git add flake.lock
    fi
  else
    echo "You do not appear to have nix installed. Skipping update of nix dependencies."
  fi
else
  echo "Nix flake lock was updated less than 7 days ago. Skipping update."
fi

npx -y lint-staged
