Initially, there was an issue with S3 sleep but Lenovo addressed that with a firmware update. Lenovo also recently joined the Linux Vendor Firmware Service (LVFS). It is now extremely easy to update firmware in Linux by executing the fwupd command. The one remaining issue is some thermal throttling threshold issue. I've installed a service that is a work around but I'm hoping this gets addressed in a subsequent firmware update.
I was coming from a MBP as well and I've completely switched to Linux. I went back and forth between getting the Dell XPS or the X1. I finally settled on the X1 because I liked the keyboard more after using both at Microcenter, but it was a tough decision.
The Arch wiki entry[0] on the X1 is a good reference point regardless of what distro you use.
[0] https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carb...
The only modifications I made to the stock configuration was to enable the following flags in my Xorg config:
Option "DisableWhileTyping" "0"
Option "Tapping" 1
Option "TappingDrag" 0
Enabling tapping makes it match my preferred tapping behavior I had on my MBP. I disabled TappingDrag to prevent spurious drag events. The first flag was to let me use the trackpad while typing so I could do some light gaming using the trackpad.If you're doing any sort of gpu accelerated machine learning, you're basically expected to use Ubuntu with Nvidia hardware and drivers.
I run linux on this without any nvidia drivers even. Just bbswitch that turns off the dedicated GPU.