Preheat oven to 350.
Grease and flour three 8 inch cake pans. Sift flour with soda, cinnamon, salt, nutmeg. Set aside.
Combine carrots, buttermilk. Mix sugar and butter until light. Add carrots, buttermilk and vanilla. Mix until smooth. On low speed with a mixer add flour in fourths. Mix only until combined. Stir in nuts. Bake for 25-30 minutes. Cool in the pans for 10 minutes.
Make the icing: In a large bowl, beat together the butter, cream cheese, and vanilla with an electric hand mixer on medium-low speed. Once combined, mix on medium-high speed for 30 seconds, until light and fluffy.
Add the powdered sugar, ½ cup at a time, beating on medium-low speed.
Assemble the cake: Check to see if the top of each cake is flat. If not, use a serrated knife level off the cakes.
Place 1 cake layer on a serving platter or cake stand. Spoon ¼ of the icing on top and spread in an even layer. Add another layer of cake and spread with another ¼ of the icing. Set the last cake layer on top with the bottom up to ensure a very flat surface. Spread the rest of the icing over the top and sides.
Gently press the crushed walnuts into the icing around the sides of the cake.
Chill for 30-60 minutes to let the icing set, then slice and serve.