karetsu: nixops is targeted specifically at nix, and can deploy only NixOS. It can provision the major cloud providers. Terraform can do no nix things at all (and can at best be used as a backend to bring up infrastructure you need), but it covers hundreds of providers and e.g. almost the entire surface of AWS products. The real difference to me is that NixOps is Python and uses Python libraries to talk to each backend, while Terraform is Go and uses Go libraries to do it. There is a plan to use Terraform as a backend in nixops for all "bringing up stuff" tasks. I don't know if it can really replace all what nixops has now because Terraform can't do some specific modifications, not sure yet.