#!/usr/bin/env bash set -euo pipefail CONFIG="radiantwavekiosk-rpi" TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S") FILENAME="radiantwave-raspberrypi-${TIMESTAMP}.img.zst" REPO="$(pwd)" NIX_STORE="kiosk-nix-store" echo "==> Building ${CONFIG}..." echo "==> Output: ${REPO}/${FILENAME}" echo "" podman volume create "${NIX_STORE}" 2>/dev/null || true podman run --rm \ -v "${REPO}:/repo" \ -v "${NIX_STORE}:/nix/store" \ -w /repo \ nixos/nix:latest \ sh -c ' set -ex mkdir -p /etc/nix echo "experimental-features = nix-command flakes" > /etc/nix/nix.conf echo "accept-flake-config = true" >> /etc/nix/nix.conf echo "extra-substituters = https://cache.nixos.org https://nixos-raspberrypi.cachix.org" >> /etc/nix/nix.conf echo "extra-trusted-public-keys = nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI=" >> /etc/nix/nix.conf echo "max-jobs = 4" >> /etc/nix/nix.conf echo "==> Building sdImage (first run slow, cached after)..." nix --accept-flake-config build \ .#nixosConfigurations.'${CONFIG}'.config.system.build.sdImage \ --fallback \ --print-build-logs echo "==> Build complete, copying..." cp result/sd-image/*.img* /repo/'${FILENAME}' echo "==> Done: ${FILENAME}" ls -lh /repo/'${FILENAME}' '