Special equipment: an ice cream maker
Preheat the oven to 350 degrees F.
Add the hazelnuts to a sheet pan. Toast until fragrant, about 10 minutes. Remove to a plate and let cool completely. Pulse 2 cups of the hazelnuts in a food processor until they reach a pasty consistency. Chop the remaining hazelnuts and reserve to fold into the gelato later.
Add the chopped chocolate to a large measuring cup and set aside.
Bring the milk, cream, liqueur, processed hazelnuts and a pinch of salt to a simmer in a heavy-bottomed saucepan over medium heat. Remove the milk mixture from the heat and let it steep for 1 hour so it can absorb as much of the hazelnut flavor as possible.
Strain the mixture through a fine sieve into a large measuring cup, pressing on the solids to extract the flavor of the hazelnuts. Discard the solids. Add the liquid back to a saucepan and bring to a low simmer.
Meanwhile, whisk the egg yolks, sugar and a pinch of salt in a large bowl until light and fluffy, about 3 minutes.
Slowly ladle about 1 cup of the hot milk mixture into the egg mixture, whisking the whole time. This is called tempering -- it's getting the yolks used to the hot temperature of the milk and preventing them from scrambling. Add the tempered eggs back into the milk mixture and stir, keeping it at a simmer, until it thickens just slightly and coats the back of a spoon, about 5 minutes.
Immediately strain the custard through a fine mesh strainer into the measuring cup with the reserved chocolate. Let it sit for a minute, then whisk until the chocolate is melted, smooth and completely mixed into the custard. Cool, cover with plastic wrap, and place in the fridge for at least 2 hours. You want the mixture to cool down completely and be well chilled before you run it in your ice cream machine. You can make this the night before.
Freeze the ice cream according to the manufacturer's instructions. You should let it run until it looks like soft serve, about 30 minutes. Then mix in the reserved hazelnuts and place the ice cream back into the freezer until firm, another hour. Keep in mind that gelato is softer than ice cream.