Heat oven to 375°F. Grease two 8 or 9-inch round baking pans. I like to cut a round piece of wax or parchment paper for the bottom of the pan also, to make sure the cake comes out easily.
Stir together sugar, flour, cocoa, baking powder, baking soda and salt in large bowl. In a separate bowl combine the eggs, buttermilk, oil and vanilla and mix well. Add the wet ingredients to the dry ingredients and mix to combine. Stir in boiling water (batter will be very thin). Pour batter into prepared pans.
Bake for 25 - 35 minutes (depending on your cake pan size. The 9'' pan takes less time to bake) or until a toothpick inserted in center comes out clean or with few crumbs. Cool 5 minutes in the pan and then invert onto wire racks to cool completely.
In a medium saucepan add brown sugar, granulated sugar, butter, egg yolks, and evaporated milk. Stir to combine and bring the mixture to a low boil over medium heat. Stir constantly for several minutes until the mixture begins to thicken.
Remove from heat and stir in vanilla, nuts and coconut. Allow to cool completely before layering it on the cake.
Melt butter. Stir in cocoa powder. Alternately add powdered sugar and milk, beating to spreading consistency. Add small amount additional milk, if needed to thin the frosting, or a little extra powder, until you reach your desired consistency. Stir in vanilla.
Place one of the cake rounds on your serving stand or plate.
Smooth a thin layer of chocolate frosting over the cake layer, and then spoon half of the coconut frosting on top, spreading it into a smooth layer. Leave about ½ inch between the filling and edge of cake.
Stack the second cake round on top. Smooth chocolate frosting over the entire cake.
Spoon remaining coconut frosting on top of the cake.