Can't wake from suspend Surface Pro 9

Hi everyone,

After quite a bit of distro hopping and several attempts at getting into NixOS, I finally have a working configuration that I’m pretty happy with!
I’m running NixOS 25.05 on a Microsoft Surface Pro 9 (yup I know, not a great choice for running linux…) with GNOME 48.1 (Wayland) and the surface kernel (Linux 6.12.19). Most things are working as expected, which is great.

However, there’s one issue that’s keeping me from fully switching to NixOS as my daily driver: suspend isn’t reliable.

When I suspend the system using systemctl suspend, it usually wakes up fine when I press the power button. But around every 10th time, the device doesn’t wake up at all. The display stays off, the fan doesn’t spin, and even the keyboard backlight doesn’t turn on. I have to force a hard reboot by holding down the power button, which means I lose all my unsaved work.

This is unfortunately a dealbreaker for me unless I can get it fixed.

I’m still pretty new to NixOS and not sure how to properly debug this issue. Could someone help me figure out what might be causing this and how I can go about troubleshooting or fixing it? I am also unsure if it is a NixOS specific issue (I think it worked fine on Ubuntu last time I tried) or has something to do with driver related stuff.

Any help or guidance would be greatly appreciated!