Hmmm… I have recently switched to Nix Flakes, but you seem to use Niv instead. Any reasoning for that?
Honestly that community split between Flakes and “old solutions” is quite tiring and I really hope that it will sooner than later fixate on one solution. Such splits can kill promising technologies (see D and Tango/Phobos split in early days).
I’m using Niv here because flakes is a bit too hermetic for my needs. This is actually describing the steps I’m taking for doing all this for production at my dayjob, and there we need to commit sins like using a custom fork of Go in order to build things. Nix flakes doesn’t let you do those sins as effectively.
It’s honestly a case where both options suck so I’m choosing the one that will hurt least and is least likely to either break or be hard to understand.
Is it viable to do the Terraform bits using NixOps at all?
Probably? I’m personally liking Terraform for this a lot more than NixOps (if only because terraform is the lingua franca of frantically gluing clouds together) but you could likely get away with NixOps for this.
Thanks. :) I still haven’t forced myself to play with NixOps, but Terraform has made me cry many times before, so it’s more of an “enemy of my enemy” type of situation.
Maybe try terranix? https://terranix.org/getting-started/