# FIXME: use overlays so this gets imported just once? { lib, pkgs, sources ? import ../npins, ... }: let tofuProvider = provider: if provider ? override then provider.override (oldArgs: { provider-source-address = lib.replaceStrings [ "https://registry.terraform.io/providers" ] [ "registry.opentofu.org" ] oldArgs.homepage; }) else provider; tf = pkgs.opentofu; mkProvider = args: pkgs.terraform-providers.mkProvider ( { mkProviderFetcher = { repo, ... }: sources.${repo}; } // args ); tfPlugins = ( p: [ p.external (mkProvider { owner = "bpg"; repo = "terraform-provider-proxmox"; rev = "v0.76.1"; spdx = "MPL-2.0"; hash = null; vendorHash = "sha256-3KJ7gi3UEZu31LhEtcRssRUlfsi4mIx6FGTKi1TDRdg="; homepage = "https://registry.terraform.io/providers/bpg/proxmox"; provider-source-address = "registry.opentofu.org/bpg/proxmox"; }) ] ); in # tf.withPlugins tfPlugins # https://github.com/NixOS/nixpkgs/pull/358522 tf.withPlugins (p: pkgs.lib.lists.map tofuProvider (tfPlugins p))