Skip to content

Commit 4cc7a69

Browse files
committed
Lock NixOS ISO build
1 parent 33b48e1 commit 4cc7a69

File tree

2 files changed

+13
-27
lines changed

2 files changed

+13
-27
lines changed

nixos.pkr.hcl renamed to nixos-25.05.pkr.hcl

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,24 @@
1-
variable "nixos_channel" {
2-
type = string
3-
# renovate: datasource=endoflife-date depName=NixOS versioning=nixpkgs
4-
default = "25.05"
1+
locals {
2+
# renovate: datasource=custom.html depName=nixos versioning=regex:^(?<major>[0-9]+)\.(?<minor>[0-9]+)\.(?<patch>[0-9]+)\.[0-9a-f]+$ extractVersion=(^|/)nixos-minimal-(?<version>[^/]+)-x86_64-linux\.iso$ registryUrl=https://channels.nixos.org/nixos-25.05
3+
nixos_build = "25.05.807900.fc756aa6f5d3"
54
}
65

7-
data "http" "nixos_iso_checksum" {
8-
url = "https://channels.nixos.org/nixos-${var.nixos_channel}/latest-nixos-minimal-x86_64-linux.iso.sha256"
9-
}
10-
11-
local "nixos_iso_checksum_split" {
12-
expression = compact(split(" ", data.http.nixos_iso_checksum.body))
6+
local "nixos_channel" {
7+
expression = regex("^[0-9]+\\.[0-9]+", local.nixos_build)
138
}
149

15-
local "nixos_iso_checksum" {
16-
expression = trimspace(local.nixos_iso_checksum_split[0])
10+
local "nixos_iso_url" {
11+
expression = "https://releases.nixos.org/nixos/${local.nixos_channel}/nixos-${local.nixos_build}/nixos-minimal-${local.nixos_build}-x86_64-linux.iso"
1712
}
1813

19-
local "nixos_iso_name" {
20-
expression = trimspace(local.nixos_iso_checksum_split[1])
21-
}
22-
23-
local "nixos_iso_dir" {
24-
expression = regex_replace(local.nixos_iso_name, "nixos-minimal-(.*)-x86_64-linux.iso", "nixos-$1")
14+
# https://github.com/hashicorp/go-getter/issues/396
15+
data "http" "nixos_iso_checksum" {
16+
url = "${local.nixos_iso_url}.sha256"
2517
}
2618

2719
source "qemu" "nixos" {
28-
iso_url = "https://releases.nixos.org/nixos/${var.nixos_channel}/${local.nixos_iso_dir}/${local.nixos_iso_name}"
29-
iso_checksum = "sha256:${local.nixos_iso_checksum}"
20+
iso_url = "${local.nixos_iso_url}"
21+
iso_checksum = "sha256:${split(" ", data.http.nixos_iso_checksum.body)[0]}"
3022
vga = "virtio"
3123
cpus = 2
3224
memory = 4096
@@ -84,7 +76,7 @@ build {
8476
}
8577

8678
provisioner "file" {
87-
content = templatefile("${path.root}/nix/configuration.nix", { path = path, state_version = var.nixos_channel })
79+
content = templatefile("${path.root}/nix/configuration.nix", { path = path, state_version = local.nixos_channel })
8880
destination = "/mnt/etc/nixos/configuration.nix"
8981
}
9082

renovate.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@
2727
"enabled": false
2828
}
2929
},
30-
{
31-
"matchFileNames": ["nixos.pkr.hcl"],
32-
"major": {
33-
"enabled": true
34-
}
35-
},
3630
{
3731
"matchDepNames": ["vagrant", "packer"],
3832
"matchDatasources": ["deb"],

0 commit comments

Comments
 (0)