#!/usr/bin/env bash

SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
REPO_ROOT="${SCRIPT_DIR}/.."
cd $REPO_ROOT

# re-run as root
if [ "$EUID" -ne 0 ]; then
sudo ${BASH_SOURCE[0]} $@
exit
fi

MODE=""
if [ -z "${1-}" ]; then
  MODE=switch
fi

if command -v nom &> /dev/null; then
  nixos-rebuild --flake "${REPO_ROOT}#$(hostname)" "$MODE" "$@" --keep-failed --log-format internal-json -v |& nom --json
else 
  echo "Install nix-output-monitor for better output"
  nixos-rebuild --flake "${REPO_ROOT}#$(hostname)" "$MODE" "$@"
fi