Preheat the oven to 350°F.
Place on a rimmed baking sheet:
Toast until golden brown and fragrant, 10 to 12 minutes. Wrap the nuts in a kitchen towel, rub vigorously to remove as much of the skins as possible, then finely grind them in a food processor, but not to a paste. Bring just to a simmer in a medium saucepan:
Add the nuts. Remove from the heat, cover, and steep for 30 minutes.
Strain the milk into a double boiler or heatproof bowl, pressing firmly to extract as much liquid as possible; discard the nuts. Add:
Place the double boiler or bowl over simmering water, stirring occasionally to dissolve the sugar. Meanwhile, beat together in a medium heatproof bowl:
When the milk mixture is steaming, slowly whisk about half of it into the beaten eggs, then stir the egg mixture back into the remaining milk. Cook in the double boiler over a gentle simmer, stirring constantly, until the custard reaches 175°F and coats the back of a spoon. Strain the custard through a fine-mesh sieve into a medium bowl. Stir in:
Refrigerate the gelato base until cold, overnight if possible, or quick-chill in an ice water bath.
Pour the base into an ice cream maker and freeze as directed. Transfer to a container with a tight-fitting lid and freeze for at least 4 hours to harden.