My solution was to use a common solar LED spotlight that I purchased at Walmart. The type I purchased could easily be broken down into its 3 main parts without too much trouble. The three parts you want to isolate are the solar panel, the electronics/battery box and the LED itself. There are many models by different manufacturers that will work. The best ones use light level rather than a separate photocell to sense darkness. If the solar panel has a little round thing in the middle, it is the latter. Look for one with a solid panel.
After disassembling it, I mounted the solar panel on the roof near the bathroom vent using Dicor Self Leveling compound and the electronics/battery box just inside the vent cover where it would be protected from the elements.
I did have to extend the wires slightly as they weren't long enough as supplied. I stripped the LED from the spotlight housing and mounted it through the screen in the bathroom vent.
Between dusk and dawn, it comes on and provides a nice soft light in the bathroom.