dotfiles/terranix/lib/terraform-module.nix

33 lines
580 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"]