#!/usr/bin/env bash job_artifacts() ( set -euo pipefail nix-build-and-cache packages ) job_ci() ( set -euo pipefail nix-build-and-cache ci direnv exec . engage ) job_pages() ( set -euo pipefail nix build .#website-root cp --recursive --dereference result public ) bail() ( set -euo pipefail echo echo "Job failed" exit 1 ) run() ( set -euo pipefail if [[ -z "${1+x}" ]]; then echo "You must supply a job to run. Available jobs:" declare -F | rg \ --only-matching \ --color never \ --replace '* $1' \ '^declare -f job_(.*)$' exit 1 fi job="$1" cd "$(git rev-parse --show-toplevel)" job_"$job" || bail ) run "$@"