#! /usr/bin/env bash set -euo pipefail if type -p nix &>/dev/null; then echo "Nix is already installed." exit fi workdir=$(mktemp -d) trap 'rm -rf "$workdir"' EXIT preconfigure_nix() { cat >"${workdir}/nix.conf" <<EOF build-users-group = experimental-features = nix-command flakes max-jobs = auto show-trace = true trusted-users = root ${USER:-} EOF install -d -m 0755 /nix install -d -m 0755 /etc/nix cp "${workdir}/nix.conf" /etc/nix/nix.conf } download_installer() { curl -sS -o "$workdir/install" -v --fail -L "${INPUT_INSTALL_URL:-https://nixos.org/nix/install}" } install_nix() { bash "$workdir/install" --no-daemon --no-channel-add --yes } post_install() { echo "$HOME/.nix-profile/bin" >> "$GITHUB_PATH" } preconfigure_nix download_installer install_nix post_install