Preheat the oven to 350°F (175°C) and line a mini muffin tin with liners.
In a large bowl, whisk together the flour, ground pistachios, sugar, baking powder, baking soda, and salt until evenly combined.
In a separate bowl, mix the non-dairy milk, oil, apple cider vinegar, vanilla extract, and rose water.
Pour the wet ingredients into the dry ingredients and stir gently until just combined — do not overmix.
Scoop the batter evenly into the mini liners, filling each about two-thirds full.
Bake for about 12–15 minutes or until a toothpick inserted into the center comes out clean.
Remove the cupcakes from the oven and let them cool in the tin for a few minutes before transferring to a cooling rack to cool completely.
While the cupcakes cool, make the frosting: beat the vegan butter in a bowl until creamy.
Gradually add the powdered sugar and beat until smooth, adding non-dairy milk as needed to reach spreading consistency.
Beat in the rose water until evenly distributed.
Once the cupcakes are cool, frost them using a piping bag or spatula.
Garnish with chopped pistachios and dried rose petals if desired.