Surprisingly enough the hardest part about gentoo is actually not the kernel but the userspace. Every package has these "use flags" and "keyword flags" which can control compile-time options and that seems fine enough on its own until you get to the point where you have multiple packages all sharing a dependency with mutually-exclusive USE flags and it's entirely up to you to figure out how to untangle this mess in a way that every package's dependencies are satisfied.