Fediversity/deployment/run/tf-proxmox-template/tf.nix
Kiara Grouwstra 7ee1422f2b
split proxmox upload/deploy
Signed-off-by: Kiara Grouwstra <kiara@procolix.eu>
2025-10-23 22:42:39 +02:00

56 lines
2 KiB
Nix

# FIXME: use overlays so this gets imported just once?
{
pkgs,
}:
# FIXME centralize overlays
# XXX using recent revision for https://github.com/NixOS/nixpkgs/pull/447849
let
sources = import ../../../npins;
# go_1_25 = pkgs.callPackage "${sources.nixpkgs-unstable}/pkgs/development/compilers/go/1.25.nix" { };
# buildGo125Module = pkgs.callPackage "${sources.nixpkgs-unstable}/pkgs/build-support/go/module.nix" {
# go = go_1_25;
# };
# go_1_25 = pkgs.callPackage "${sources.nixpkgs-unstable}/pkgs/development/compilers/go/1.25.nix" { inherit buildGo125Module; };
mkProvider =
args:
# (pkgs.terraform-providers.override { buildGoModule = pkgs.buildGo124Module; }).mkProvider (
# (pkgs.terraform-providers.override { buildGoModule = pkgs.buildGo124Module; }).mkProvider (
pkgs.terraform-providers.mkProvider (
{ mkProviderFetcher = { repo, ... }: sources.${repo}; } // args
);
in
(
(pkgs.callPackage "${sources.nixpkgs-unstable}/pkgs/by-name/op/opentofu/package.nix" { })
.overrideAttrs
(old: rec {
patches = (old.patches or [ ]) ++ [
# TF with back-end poses a problem for nix: initialization involves both
# mutation (nix: only inside build) and a network call (nix: not inside build)
../../check/data-model-tf/02-opentofu-sandboxed-init.patch
];
# versions > 1.9.0 need go 1.24+
version = "1.9.0";
src = pkgs.fetchFromGitHub {
owner = "opentofu";
repo = "opentofu";
tag = "v${version}";
hash = "sha256-e0ZzbQdex0DD7Bj9WpcVI5roh0cMbJuNr5nsSVaOSu4=";
};
vendorHash = "sha256-fMTbLSeW+pw6GK8/JLZzG2ER90ss2g1FSDX5+f292do=";
})
).withPlugins
(p: [
p.external
p.null
(mkProvider {
owner = "bpg";
repo = "terraform-provider-proxmox";
# 0.82+ need go 1.25
rev = "v0.81.0";
spdx = "MPL-2.0";
hash = null;
vendorHash = "sha256-cpei22LkKqohlE76CQcIL5d7p+BjNcD6UQ8dl0WXUOc=";
homepage = "https://registry.terraform.io/providers/bpg/proxmox";
provider-source-address = "registry.opentofu.org/bpg/proxmox";
})
])