23 lines
693 B
Bash
Executable file
23 lines
693 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "${root}"
|
|
|
|
target="${EVERY_CHANNEL_FORGE_TARGET_HOST:-root@git.every.channel}"
|
|
build_host="${EVERY_CHANNEL_FORGE_BUILD_HOST:-${target}}"
|
|
identity_file="${EVERY_CHANNEL_FORGE_SSH_IDENTITY:-$HOME/.ssh/id_ed25519}"
|
|
|
|
if [[ ! -f "${identity_file}" ]]; then
|
|
echo "error: SSH identity not found: ${identity_file}" >&2
|
|
exit 2
|
|
fi
|
|
|
|
export NIX_SSHOPTS="-o BatchMode=yes -o IdentityAgent=none -o IdentitiesOnly=yes -i ${identity_file}"
|
|
|
|
exec nix run nixpkgs#nixos-rebuild -- \
|
|
--flake "${root}#ecp-forge" \
|
|
--target-host "${target}" \
|
|
--build-host "${build_host}" \
|
|
--use-remote-sudo \
|
|
switch
|