chore(ci): clean up nf-generate

This commit is contained in:
arcnmx 2024-11-20 11:50:18 -08:00
parent 2687644d41
commit e3d22ca33f

View file

@ -1,13 +1,44 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -eu set -eu
NF_GENERATE_EVAL_ARGS=(${NF_GENERATE_EVAL_ARGS-})
NF_GENERATE_EVAL_ARGS+=(--show-trace)
nf-eval() {
local EVAL_FMT=$1 EVAL_ATTR=$2 EVAL_OUT=$3 \
EVAL_ARGS=()
shift 3
if [[ $EVAL_ATTR != *#* ]]; then
EVAL_ATTR="${NF_CONFIG_ROOT}#${EVAL_ATTR}"
fi
EVAL_ARGS=(
"${NF_GENERATE_EVAL_ARGS[@]}"
"$EVAL_FMT"
"$EVAL_ATTR"
"$@"
)
if [[ $EVAL_OUT != /* ]]; then
EVAL_OUT="$NF_CONFIG_ROOT/$EVAL_OUT"
fi
if [[ $EVAL_FMT = --json ]]; then
nix eval "${EVAL_ARGS[@]}" \
| jq -M .
else
nix eval "${EVAL_ARGS[@]}"
fi > "$EVAL_OUT"
}
for node in reisen; do for node in reisen; do
nix eval --json "${NF_CONFIG_ROOT}#lib.generate.nodes.$node.users" | jq -M . > "$NF_CONFIG_ROOT/systems/$node/users.json" nf-eval --json "lib.generate.nodes.$node.users" "systems/$node/users.json"
nix eval --json "${NF_CONFIG_ROOT}#lib.generate.nodes.$node.systems" | jq -M . > "$NF_CONFIG_ROOT/systems/$node/systems.json" nf-eval --json "lib.generate.nodes.$node.systems" "systems/$node/systems.json"
nix eval --json "${NF_CONFIG_ROOT}#lib.generate.nodes.$node.extern" | jq -M . > "$NF_CONFIG_ROOT/systems/$node/extern.json" nf-eval --json "lib.generate.nodes.$node.extern" "systems/$node/extern.json"
nix eval --raw "${NF_CONFIG_ROOT}#lib.generate.nodes.$node.ssh.root.authorizedKeys.text" > "$NF_CONFIG_ROOT/systems/$node/root.authorized_keys" nf-eval --raw "lib.generate.nodes.$node.ssh.root.authorizedKeys.text" "systems/$node/root.authorized_keys"
done done
nix eval --json "${NF_CONFIG_ROOT}#lib.generate.systems" | jq -M . > "$NF_CONFIG_ROOT/ci/systems.json" nf-eval --json "lib.generate.systems" "ci/systems.json"
for ciconfig in "${NF_CONFIG_FILES[@]}"; do for ciconfig in "${NF_CONFIG_FILES[@]}"; do
echo "processing ${ciconfig}..." >&2 echo "processing ${ciconfig}..." >&2