#!/bin/sh set -euC cd "$(dirname "$0")" || exit 3 nix_eval () { nix eval --impure --raw --expr "with builtins; $1"; } system=$(nix_eval "currentSystem") checks=$(nix_eval "toJSON (attrNames (getFlake (toString ../..)).checks.$system)") output=$(mktemp) { cat <| "$output" target=$(basename "$0" .sh).yaml if [ $# -eq 1 ] && [ "$1" = "check" ]; then if ! diff_output=$(diff --color=always "$target" "$output"); then printf >&2 'Changes detected (\e[31m< current\e[0m | \e[32m> generated\e[0m):\n%s\n' "$diff_output" exit 1 fi else mv "$output" "$target" fi