You got no spice GND symbol, required for the solver to work. Only put one and the best place would be on the secondary (simulation wise, not practically wise)
The input to the reg expects a power source and while the rectifier will produce this, Kicad doesn’t know the intent of the circuit and thus you need to put a power node symbol down to inform Kicad that power really does get provided at this node
Each node in a ngspice netlist has to have a dc path to ground. Otherwise the simulator cannot decide on a dc potential for this node when looking for the operating point. So both sides (primary and secondary) of the transformer have to have a ground connection, either directly or (as in my example on the primary side) via a (large) resistor.
To avoid complete floating, I recommend connecting maybe (1 nF in parallel with 1 Meg ohm) between output ground and (one side or maybe a center tap) of the transformer primary.
I do not use NGSpice but this seems to be a workable approach in LTSpice.
You do need to have ground somewhere, and everything referenced to it somehow.