From 4f03ff3d62230229c681e479571455e49610b8c7 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Wed, 23 Aug 2023 11:19:02 -0500 Subject: [PATCH] Change NixOS to dynamic --- distros/nixos/23.05/x86_64.pkrvars.hcl | 15 -------- distros/nixos/23.05/x86_64.pkrvars.hcl.sh | 42 +++++++++++++++++++++++ 2 files changed, 42 insertions(+), 15 deletions(-) delete mode 100644 distros/nixos/23.05/x86_64.pkrvars.hcl create mode 100755 distros/nixos/23.05/x86_64.pkrvars.hcl.sh diff --git a/distros/nixos/23.05/x86_64.pkrvars.hcl b/distros/nixos/23.05/x86_64.pkrvars.hcl deleted file mode 100644 index 7df754d..0000000 --- a/distros/nixos/23.05/x86_64.pkrvars.hcl +++ /dev/null @@ -1,15 +0,0 @@ -distro = "nixos" -version = "23.05" -iso = { - url = "https://channels.nixos.org/nixos-23.05/latest-nixos-minimal-x86_64-linux.iso" - checksum = "e2a0bc2be3b6638692393a19435838d464149914dbd942010e31a3c8c84c82d5" -} -boot_command = [ - " net.ifnames=0 biosdevnames=0", - "", # Wait for system to come up? - "curl -o /tmp/install.sh http://{{ .HTTPIP }}:{{ .HTTPPort }}/install.sh", - "", - "sudo bash /tmp/install.sh {{ .HTTPPort }} {{ .HTTPIP }}" -] -http_directory = "distros/nixos/23.05/http/" -boot_wait = "5s" diff --git a/distros/nixos/23.05/x86_64.pkrvars.hcl.sh b/distros/nixos/23.05/x86_64.pkrvars.hcl.sh new file mode 100755 index 0000000..917133b --- /dev/null +++ b/distros/nixos/23.05/x86_64.pkrvars.hcl.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +set -exo pipefail + +# Name of the file to write out +name="${0%.sh}" + +version="23.05" + +# Base URL +base="https://channels.nixos.org/nixos-${version}/latest-nixos-minimal-x86_64-linux.iso" + +# Working directory +tmp="$(mktemp -d)" +checksums="${tmp}/checksums" + +# Read the SHA256 sum value +curl -L -o "${checksums}" "${base}.sha256" +until curl -f -L -o "${checksums}" "${base}.sha256"; do + sleep 1 +done +sha="$(cat "${checksums}" | grep minimal | cut -d' ' -f 1)" + +# Write out HCL file +cat << EOF > "${name}" +distro = "nixos" +version = "${version}" +iso = { + url = "${base}" + checksum = "${sha}" +} +boot_command = [ + " net.ifnames=0 biosdevnames=0", + "", # Wait for system to come up? + "curl -o /tmp/install.sh http://{{ .HTTPIP }}:{{ .HTTPPort }}/install.sh", + "", + "sudo bash /tmp/install.sh {{ .HTTPPort }} {{ .HTTPIP }}" +] +http_directory = "distros/nixos/23.05/http/" +boot_wait = "5s" +EOF + +rm -r "${tmp}"