Let us all bow our heads to raiguard, the single person who is developing Factorio's Linux-native side, and who also agrees that GNOME's decision to axe server-side decorations was fucking stupid.
Honestly, they just shouldn't have added support. GNOMEs been causing problems for basically everyone else for a long time. If they want to do their own thing, that's fine, but we shouldn't but everyone else shouldn't have to do extra work to accommodate them.
why not use steam? I know steam has drm and isn't free as in free speech, but it's many times more practical. 2.0.8 is out now, and presumably there will be many updates a week for the foreseeable future, and updating by hand or with a script just to get a drm-free version in nixos seems a bit impractical to me.
So I'm currently in a full stack bootcamp (I know - it was free for me and I'm learning things even if it's basically a scam)... why does Factorio have a json file?
You need to package all dynamically linked executables because NixOS disables them by design. It's to prevent two programs not working because they depend on different versions of a single library. But it's not helpful when you have a program you need to run, and you need it real soon.
In terms of whether Factorio runs or not, it does run. You have to add that configuration though.
Still, if you are familiar with Linux and don't usually get that "I need a program running ASAP" situations, it is a great OS to learn. I can recommend them.