Toast the Nuts
Preheat the oven to 350° F
Spread the pistachios on a rimmed baking sheet and toast until they're just beginning to brown (~ 4 minutes). Transfer them to a plate, let them cool, and then coarsely chop
On the same baking sheet, spread the almonds and toast until their golden brown (~ 5-8 minutes). Let cool and set aside
Pre-Cook the Rice
Place rice in a fine-mesh sieve and rinse under cold water until water runs clear.
Cook the rinsed rice in a large pot of boiling, salted water, stirring occasionally until grains have lengthened but are still firm, 6–7 minutes; drain and rinse again under cold water.
Spread the rice on another rimmed baking sheet and let cool
Cook the Carrots
Meanwhile, using a vegetable peeler, remove the zest from orange and thinly slice it lengthwise (reserve the flesh for another use).
In a medium saucepan, add the sugar and water. Bring to a boil, stirring frequently to dissolve the sugar
Add the orange zest and carrots, reduce heat, and simmer, stirring occasionally, until carrots are tender (~ 15–20 minutes).
Drain and set aside (discard the syrup)
Prepare the Barberries, Raisins, and Saffron
Combine barberries and raisins in a small bowl. Cover with hot water and let soak 10-15 minutes, or until they've pumped up. Drain and set aside.
In another small bowl, add the saffron threads and ¼ cup hot water. Set aside
Fruit and Nut Mix
In a large skillet over medium, heat the butter and 1 Tbsp olive oil.
Add the onion, season with sea salt, and cook, stirring often, until soft and beginning to brown (~ 8–10 minutes)
Add the cardamom, cumin, turmeric, and 1 Tbsp of the saffron mixture. Cook, stirring constantly, until fragrant (~ 1 minute)
Reduce the heat to low, add the barberries and raisins; cook, stirring often (~ 3 minutes).
Stir in the reserved roasted nuts, orange zest, and carrot mixture; season with salt.
Set fruit and nut mixture aside
Heat the remaining 3 Tbsp oil in a large wide heavy pot, over medium heat.
Add half of the rice, spreading evenly.
Top with the fruit and nut mixture, then the remaining rice, spreading evenly.
Using the end of a wooden spoon, poke holes in the rice, all the way through to the bottom of the pot (to release steam and help the rice cook evenly).
Drizzle the remaining saffron mixture over rice. Place a clean kitchen towel over the pot, cover with a tight-fitting lid, and secure loose edges of towel on top of the lid, using a rubber band or masking tape.
Cook until the pot has begun to steam (~ 5–8 minutes)
Reduce heat to very low and cook, without stirring, until the rice is tender and the bottom layer of the rice is browned and crisp (~ 30–40 minutes)
Scoop rice into a wide serving bowl, breaking the bottom crust into pieces
DO AHEAD: Fruit and nut mixture can be made 2 days ahead. Cover fruit and nut mixture and remaining saffron mixture separately and chill.