Preheat the oven to 350 degrees F.
Put the hazelnuts in a single layer on a small sheet pan. Toast the nuts for 8 minutes, until they are lightly golden. Pour the nuts onto a clean kitchen towel and rub them to remove the peels. Put the hazelnuts in a large sealable plastic bag, seal the bag, and pound the nuts with a rolling pin until roughly crushed. Set aside.
Using a small ice cream scoop, scoop the ice cream into 16 equal-size balls (8 of each flavor) and arrange in a single layer on a cold plate lined with plastic wrap. Cover the ice cream balls with more plastic wrap and freeze again until firm.
In a medium bowl, whip the cream, a pinch of salt, sugar and 2 tablespoons hazelnut liqueur to stiff peaks, but do not over beat.
To serve, put 2 scoops each of hazelnut (or coffee) and vanilla ice creams into each glass. Add to the top of each 1 tablespoon hazelnut liqueur and 2 tablespoons crushed hazelnuts. Pour 1/4 cup espresso into each bowl. Top the ice cream with a dollop of whipped cream and shaved chocolate. Serve immediately.
Entertaining Notes: If you are doing this for a larger party you can pre-scoop the ice cream right into the glasses and store, covered, in the freezer.