I have a dark corner near the entrance door and I made a battery-run light (2 LEDs - to light up the key hole) with very simple logic: when you press the button, it lights up for 2 minutes, then blinks for another 2 minutes; then blinks faster for another minute; then goes dark.
The button is wired to "reset" pin of an attiny45, the LEDs are connected to two pins of the chip, and the code, predictably, ends with a low-power sleep instruction.
Two 2100mAh AA-sized accumulators provide the power.
I "launched" it into use about 4 months ago (I forgot the exact date), still did not have to recharge.