New to the forum

Sounds interesting.

Remember to simulate not only sunrise and sunset but also moonrise and set.

The manual override should be fine. You can write a "main" routine then have subroutines that you can have it run if you push a button. Look up "interrupts".

Expansion should be fine as long as you have pins available on your Arduino. You'd just need to hook up new components then do some more programming.