If we have in variables.tf:
variable "host_os" {
type = string
default = "windows"
}
Then the terraform.tfvars takes precedence of defaults. Contents of terraform.tfvars:
host_os = "linux"
To prove this open the console:
$ terraform console
> var.host_os
"linux"