A generation ship is a slow spacecraft for interstellar colonization, where several generations of Humans live, have children and die before the craft arrives at its destination. It is of course self-sufficient. Some have argued that it would be unfair because children born on generation ships "would have no choice". Though that is descriptively true for classical generation ships, it is arguably no worse than being stuck on Earth. A better, non-classical version would be the possibility to create new colonies in asteroids and comets (hollow asteroid/comet colonies), eliminating the "forced to stay in one spacecraft the whole life"-factor altogether, as in the anti-congestion argument.
In order to generate gravity, a generation ship would have to be constantly spinning as it flies through space, or manipulated spacetimes could theoretically be an alternative, altough it seems strange why the travel should be slow and generational if that can be used. It would have to be VERY large, as all food would have to be grown on-board. All water would have to be recycled. There would probably be a lot of carbon scrubbers. Traditional electric fluorescent bulbs would of course suffice for human light, although energy efficient bulbs or possibly LED lights would be used for obvious reasons. Natural sunlight may be sufficient to grow crops while within any star system, but artificial growing lights would have to be activated while in interstellar space. This uses a lot of electricity. Fusion power would almost certainly have to be used in interstellar space, or vacuum energy could be an alternative. It does seem strange howewer, that a spacecraft with access to fusion power or even vacuum energy should be generational in the first place, unless it travels to very distant stars, possibly even other galaxies. See BTC travel, FTL travel and artificial hibernation for alternative solutions.
Maybe ElectroMagneticPulsar Energy, EMP might be an interesting option,if practically possible?
Since this ship will be very large, it might be a good idea to equip it with multiple entry-ports for Space Vehicles,of which the Generation Ship must have its own fleet (including Mini's). The ship also needs its own production and construction facilities. With these extras,the ship can 'visit' planets, moons and asteroids 'nearby', taking resources from it, bring these back to the ship, create basic modules for Space Colonies on the ship, take the basic-modules to an(other) interesting/strategic planet or moon,together with some of the people on the ship to start a new colonie,station or settlement eliminating the "forced to stay in one spacecraft the whole life"-factor altogether, as in the anti-congestion argument.