#!/usr/bin/env bash

set -e

pushd ~/nixos/

#Change to change box setup
BOX="$(cat .box)"

notify(){
    command -v notify-send > /dev/null
    if [[ $? -ne 0 ]]; then 
        return
    else
        notify-send "$@" 2>/dev/null || :
    fi
}
# if git diff --quiet '*.nix' && [[ !( $1 =~ "*force*") ]] then
#     echo "No changes. Exiting"
#     # notify-send "No changes. Exiting"
#     popd
#     exit 0
# fi

#TODO: Format files
#format **

#show changes
git diff -U0 '*.nix'

echo "Starting build"

sudo nixos-rebuild switch --flake .#${BOX} &> build.log || (cat build.log | grep --color error && notify "ERROR BUILDING NIX" && exit 1)

current=$(nixos-rebuild list-generations  | grep current)

git commit -am "${current}"

popd
notify -e "good build" --icon=software-update-okay
