I'll give you my two pieces of NVIDIA fanboyism. (I play on Windows by the way, so Linux might be troublesome driver-wise)
I've stuck to the brand for more than a decade, and I've always been satisfied. It may cost a little more compared to AMD, and when DX10 showed up, NVIDIA has been a bit slow to upgrade.
But I've always seen NVIDIA push further when it comes to dev techniques. The most known one is PhysX (yeah, they basically bought Ageia and integrated their technology into the GeForce), but there are many more.
Most games today have a special something added with either NVIDIA or AMD cards. But the later one is less represented.
So with a GeForce, you unlock a bit more graphical options. But there is more to it : they are also a bit better in power consumption and the price-to-performance ratio.
When it comes to the special card, I'd say get the 970 if you can.
I've been using x60 series before (260 then 560), but the 960 is so much less performing than the 970 that I've bought the later one. Its memory bus and GDDR quantity are quite limited for a modern gamer setup, and it's not worth the price anymore because of this.
If you don't play much on high settings or don't train on simulators, then a 950 is fine enough. Just don't waste your money or time on the 960.
Otherwise, I'd recommend the 970, which comes with enough performance for the upcoming years, unless you really want 4K and/or 60fps on intensive games (GTA V for example).
Then the 980, 980Ti and TITANs are awe-inspiring, but I think the price is just prohibitive for a piece of hardware destined to be replaced in two to five years.
This was my opinion on the current NVIDIA cards. You are free to choose AMD (they have their perks too), but then I couldn't really give you any good advice.