#!/usr/bin/env bash set -euo pipefail # The first argument must be the desired installable INSTALLABLE="$1" # Build the installable and forward any other arguments too nix build -L "$@" if [ ! -z "$ATTIC_TOKEN" ]; then nix run --inputs-from . attic -- login \ conduit \ https://attic.kennel.juneis.dog/conduit \ "$ATTIC_TOKEN" push_args=( # Attic and its build dependencies "$(nix path-info --inputs-from . attic)" "$(nix path-info --inputs-from . attic --derivation)" # The target installable and its build dependencies "$(nix path-info "$INSTALLABLE" --derivation)" "$(nix path-info "$INSTALLABLE")" ) nix run --inputs-from . attic -- push conduit "${push_args[@]}" # push to "conduwuit" too nix run --inputs-from . attic -- login \ conduwuit \ https://attic.kennel.juneis.dog/conduwuit \ "$ATTIC_TOKEN" push_args=( # Attic and its build dependencies "$(nix path-info --inputs-from . attic)" "$(nix path-info --inputs-from . attic --derivation)" # The target installable and its build dependencies "$(nix path-info "$INSTALLABLE" --derivation)" "$(nix path-info "$INSTALLABLE")" ) nix run --inputs-from . attic -- push conduwuit "${push_args[@]}" else echo "\$ATTIC_TOKEN is unset, skipping uploading to the binary cache" fi