A NixOS way to create terraform json files.


What is Terraform?

Terraform is a tool to interact with APIs via declarative files. Instead of write imperative scripts, you define the setup you like to have and terraform will make it happen.

What is config.tf.json?

config.tf.json or config.tf is the file that contains the setup descriptions to be realized behind one or multiple APIs. The majority of your work will be to create theses files.

What are Providers?

Providers are the thing that enables terraform to talk to APIs. A huge list of providers is available on the Terraform website.

What is Terraform State?

Terraform is not capable of seeing the state behind APIs, because APIs never share all information. This is why terraform creates a state file on every run to provide information for the next run.

It is not always clear what ends up in this state file, so handle secrets always with care!

What is terranix?

terranix is a tool that enables you to render the config.tf.json file. It uses the NixOS module system and gives you tools like terranix-doc-man and terranix-doc-json to generate documentation of terranix modules.


add –pkgs parameter and prepare to add terranix to nixpkgs.
All base options (resource,data, … ) will now be merged.


A quick introduction on how to start.
Syntax differences between terranix and HCL
List of Documentation and Code related to terranix