Preheat oven to 350F(180C) degrees.
Bring a pot of water to boil on the stove.
When the water starts to boil, add in walnuts and boil for 5 minutes.
While the walnuts are boiling, in a large bowl, beat egg whites until frothy, but not stiff.
Strain the walnuts and transfer the nuts to the bowl with the egg whites. Stir to coat.
Sprinkle the nuts with all the sugar, spices and salt, and toss until evenly coated
Spread nut mixture in a single layer on a baking sheet with parchment paper.
Bake for 10 minutes, rotate the baking sheet, gently mix the walnuts, and bake for another 10 minutes. Depending on your oven and your preference, bake for another 10-15 minutes, checking every 5 minutes. My oven is a tad weak, and I like my nuts very toasted and the sugar very carmelized, so I'll bake for a total of 30-35 minutes. Watch the nuts! Nuts burn very quickly. I know this too well.
Cool walnuts for 30-40 minutes before eating or storing. I store the nuts in tupperware, and keep unrefrigerated for about a week before they're all gone.