Mix and match.
X0 cranks and above for carbon weight. GX mech is fine enough for most people and really not going to notice the weight difference. GX cassette however is a fair weight compared to the higher versions, but as said comparable with XT, though more expensive. X1 and above shifters are just a little bit nicer in shifting and not too much more in price so worth a shot.
In my case I’m all Shimano freehubs so I use XTR (and XT on one bike) cassettes, but mix of X0 cranks, GX mech and X1 shifters.
Then down below GX is NX. Cheap as chips, just heavier (though Shimano freehub compatible on the cassette).
GX Eagle is a very good deal however, but then there’s not really any main competition with 12 speed. It’s heavier but reasonable price for 12 speed. Still expensive cassette though. When new fangled cassettes are down to what they used to be when XT was the go to (i.e. sub £60), wake me up 😀