#Gaming
On the machine I used Nvidia on, I ran Linux Mint and used that distro's driver manager. It was fairly straightforward. I found an appropriate time to build a new machine and I'm now a Ryzen/Radeon kind of guy.
In broad strokes, what Valve has done for Linux gaming is build a compatibility layer that translates the game's calls for Windows systems into those that Linux can understand, especially translating DirectX API calls to Vulkan. So, for the most part, Windows games now "just run." You do not need to wait for a game to be ported to Linux, and in fact many just simply aren't anymore; Valve's instructions are to target Windows and let Proton handle Linux gamers. The one place you'll find issues are some games that use kernel level anti-cheat, a technology that can work on Linux, but many studios choose not to let it.
#Excel/macros
I don't know if a conversion to a FOSS office suite (I would recommend LibreOffice or possibly OnlyOffice) will be 100% seamless, the most trouble I had with LibreOffice was collaborating with others. An MLA formatted essay made in LOWriter may translate fine, powerpoint presentations and spreadsheets might be a little wonky.
The cool thing about FOSS apps is you don't have to have Linux to give them a try. You can install LibreOffice in Windows and try it out yourself.
#Outlook
I don't know a damn thing about Outlook. There are several email clients available for Linux, which I don't use, so, I can't really help you here.
#Programming IDEs
I don't think VisualStudio is available for Linux; their text editor VSCode and a "we built the parts they opened" called VSCodium are.
Linux is an extremely programmer friendly environment; you'll find a lot of IDEs available. Your typical Linux distro ships with Python and Perl interpreters among others just built right in, along with GCC of course. I've messed around with the Godot game engine, along with Arduino, though these days if I'm going to do much programming I'm going to do it in Python, including for microcontrollers. These days I've somewhat standardized on ESP32s running MicroPython.