So I just learned that apparently flake.nix files aren't actually proper Nix files, despite having a .nix extension, and that they introduce additional syntactic restrictions.
Not type checks on the evaluation result - *syntactic* restrictions. A flake.nix that consists solely of an import of a valid flake under another filename, would be invalid, even though it would be identical value-wise to the valid flake itself.
Great. Because what Nix sorely needed was definitely more hidden footguns!
I am so incredibly tired of this shit.