dotfiles/terranix/lib/terraform-module.nix

29 lines
565 B
Nix
Raw Normal View History

{ tflib
, pkgs
, config
}:
{
name
, source
, ...
}@args:
{
source =
let
module = (tflib.mkTerranixConfiguration {
inherit pkgs;
modules = [
source
{
_file = "terraform-module.nix";
_module.args = builtins.removeAttrs config._module.args [ "pkgs" "tflib" ];
}
];
} ).config.build.json;
in
pkgs.runCommandNoCC "${name}-module" {} ''
mkdir -p $out/
ln -s ${module} $out/main.tf.json
'';
} // builtins.removeAttrs args [ "name" "source" ]