Whisk the egg yolks and 1/2 cup milk in a small bowl and set aside. Combine the remaining 1 cup milk and 1 cup cream in a medium saucepan; stir in the nutmeg, 1 teaspoon salt and 1/2 teaspoon pepper. Add the garlic and bay leaves and bring to a boil over medium heat. Reduce the heat to medium low; add the potatoes and simmer until halfway cooked, about 6 minutes. Remove from the heat. Gradually stir in the egg-milk mixture and 1 cup gruyere. Cover and keep warm.
Preheat the broiler. Put the tomatoes, bell peppers and onion on a baking sheet in separate piles. Drizzle each pile with 2 teaspoons olive oil and sprinkle each with 1 teaspoon herbes de Provence, and salt and pepper to taste. Toss each pile of vegetables to coat, then spread out the piles. Broil until tender and charred around the edges, about 10 minutes.
Preheat the oven to 375 degrees F. Brush a 1 1/2-quart baking dish with olive oil. Sprinkle half of the breadcrumbs (1/2 cup plus 2 tablespoons) in the dish. Spoon out half of the potatoes and arrange evenly over the breadcrumbs; top with the broiled onions and half each of the tomatoes and bell peppers. Top with the remaining potatoes in an even layer and all of the cream mixture; discard the garlic and bay leaves. Top with the remaining tomatoes and bell peppers.
Bake until the potatoes are tender and lightly golden, 40 to 50 minutes. Drizzle with the remaining 1/2 cup cream and sprinkle with the remaining 1/2 cup plus 2 tablespoons breadcrumbs and 1/2 cup gruyere. Continue baking until the cheese melts, about 5 more minutes. Let rest 10 minutes before serving.