diff options
Diffstat (limited to '')
| -rw-r--r-- | flake/terraform.nix | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/flake/terraform.nix b/flake/terraform.nix new file mode 100644 index 0000000..23cc6d3 --- /dev/null +++ b/flake/terraform.nix @@ -0,0 +1,40 @@ +{ lib, ... }: +{ + perSystem = + { pkgs, ... }: + let + mkTfWrapper = + { + tfPlugins, + cfg, + }: + let + pkg = pkgs.opentofu.withPlugins tfPlugins; + in + { + type = "app"; + program = toString ( + pkgs.writers.writeBash "tf" '' + set -xeuo pipefail + ln -snf ${cfg} config.tf.json + exec ${lib.getExe pkg} "$@" + '' + ); + }; + in + { + apps = { + tf = mkTfWrapper { + cfg = pkgs.adminTerraformCfg; + tfPlugins = p: [ + p.cloudflare + p.digitalocean + p.external + p.google + p.null + p.random + ]; + }; + }; + }; +} |
