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