I hadn't honestly heard about Flatpak before, but it looks pretty cool. I'm sure there are advantaged and disadvantages to both, but I'm not familiar with Flatpak so this is my attempt at a comparison.
It's really cool that Flatpak uses a run-time sandbox, Nix uses a build-time sandbox to make sure the build products are pure. The Flatpak website also says that it's intended more for Desktop applications / environments, whereas Nix is much more general. Nix is also a large technology stack, with their own really cool Linux distro, devops tools, CI system, and distributed system builder that all use the same language.
I guess Flatpak uses JSON, so Nix might be more expressive in terms of what you can do. The Flatpak manifest looks kind of like Nix's "derivation files", which are generated as results of evaluating an expression written in the Nix language.
Are all of the dependencies packaged as flatpak things, or just the top-level GUI programs? All Nix dependencies are themselves packaged with Nix, which is how it achieves "purity".
From looking at it for 10 minutes, it seems like Flatpak is a much more polished subset of Nix. But, I could be mistaken - is there anything significant that I left out?