Jack O'Sullivan
e9467e0cc7
Some checks failed
CI / Check, build and cache Nix flake (push) Failing after 6m27s
32 lines
778 B
Bash
Executable File
32 lines
778 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
REMOTE_STORE=/var/lib/harmonia
|
|
SSH_HOST="harmonia@object-ctr.ams1.int.nul.ie"
|
|
SSH_KEY=/tmp/harmonia.key
|
|
STORE_URI="ssh-ng://$SSH_HOST?ssh-key=$SSH_KEY&remote-store=$REMOTE_STORE"
|
|
|
|
remote_cmd() {
|
|
ssh -i "$SSH_KEY" "$SSH_HOST" env HOME=/run/harmonia NIX_REMOTE="$REMOTE_STORE" "$@"
|
|
}
|
|
|
|
umask_old=$(umask)
|
|
umask 0066
|
|
echo "$HARMONIA_SSH_KEY" | base64 -d > "$SSH_KEY"
|
|
umask $umask_old
|
|
|
|
mkdir -p ~/.ssh
|
|
cp ci/known_hosts ~/.ssh/
|
|
path="$1"
|
|
|
|
echo "Pushing $path to cache..."
|
|
nix copy --no-check-sigs --to "$STORE_URI" "$path"
|
|
|
|
if [ -n "$UPDATE_PROFILE" ]; then
|
|
echo "Updating profile..."
|
|
remote_cmd nix-env -p "$REMOTE_STORE"/nix/var/nix/profiles/nixfiles --set "$path"
|
|
|
|
echo "Collecting garbage..."
|
|
remote_cmd nix-collect-garbage --delete-older-than 60d
|
|
fi
|