Prep your tools: Preheat the oven to 350°F (175°C). Lightly grease a 12-cavity donut pan or two 6-cavity pans.
If you have only one pan, bake in batches.
Mix dry ingredients: In a large bowl, whisk flour, brown sugar, granulated sugar, baking powder, baking soda, salt, cinnamon, and nutmeg. Break up any sugar clumps with your whisk.
Mix wet ingredients: In a separate bowl, beat eggs lightly. Add oil, yogurt (or sour cream), and vanilla.
Whisk until smooth.
Combine: Pour the wet ingredients into the dry. Stir with a spatula until just combined. The batter should be thick but scoopable.
Do not overmix.
Fold in carrots: Add the grated carrots and any optional nuts or raisins. Fold gently until evenly distributed.
Fill the pan: Spoon or pipe the batter into the donut cavities, filling each about 3/4 full. A zip-top bag with the corner snipped makes this tidy.
Bake: Bake 10–12 minutes, until the tops spring back when touched and a toothpick comes out clean or with a few moist crumbs.
Cool: Let donuts rest in the pan for 5 minutes, then transfer to a wire rack to cool completely before frosting.
Make the frosting: Beat softened cream cheese and butter until smooth.
Add powdered sugar, a pinch of salt, and 1 tablespoon milk or cream. Beat until fluffy and spreadable, adding a tiny splash more milk if needed. The consistency should be thick but spreadable.
Frost and finish: Spread or pipe frosting over cooled donuts.
Sprinkle with a dusting of cinnamon or chopped nuts if you like. Let them set for 10–15 minutes.