#!/usr/bin/env bash # SPDX-FileCopyrightText: 2023 The TVL Authors # # SPDX-License-Identifier: MIT # # Copies a NixOS system to a target host, using the provided key, # or whatever ambient key is configured if the key is not set. set -ueo pipefail export NIX_SSHOPTS="\ -o StrictHostKeyChecking=no\ -o UserKnownHostsFile=/dev/null\ -o GlobalKnownHostsFile=/dev/null" # If DEPLOY_KEY was passed, write it to $scratch/id_deploy if [ -n "${DEPLOY_KEY-}" ]; then scratch="$(mktemp -d)" trap 'rm -rf -- "${scratch}"' EXIT echo -n "$DEPLOY_KEY" > $scratch/id_deploy chmod 0600 $scratch/id_deploy export NIX_SSHOPTS="$NIX_SSHOPTS -o IdentityFile=$scratch/id_deploy" fi nix-copy-closure \ --to ${TARGET_USER}@${TARGET_HOST} \ ${SYSTEM_DRV} \ --gzip \ --include-outputs \ --use-substitutes