MAKE THE BECHAMEL SAUCE
To a deep saucepan or pot over medium heat, add the butter. Once melted, add the all-purpose flour and whisk together until there are no clumps. Now that you have your roux, cook it for about 2 to 3 minutes.
Now add the milk, salt, black pepper, cream cheese, parmesan, nutmeg, and mustard powder. Mix together well and bring to a light boil.
Continuously whisk the sauce until it starts to thicken up. Immediately take off the heat when it is thick. Taste and adjust any seasoning to your liking. Set aside.
PREPARE EGGS
To a bowl, crack all the eggs in and season with salt and a bit of black pepper. Whisk together well until smooth.
Heat a large non-stick frying pan over low heat and add vegetable oil. Pour in the whisked eggs. Slowly stir with a rubber spatula in circular motions continuously as they cook. The key is to go low and slow. Once the eggs hold their shape turn off the heat to prevent overcooking and set aside.
ASSEMBLE AND BAKE
Preheat oven to 400°F. Line a large baking tray with parchment paper.
Cut open the croissants down the middle and place on the tray. Add bechamel sauce to both sides.
Then add two slices of turkey ham, eggs, a sprinkle of gruyere cheese, and parmesan cheese. Seal it up and repeat with the other croissants.
Brush the tops with egg wash and sprinkle on toppings of choice or a mix of all three sesame seeds, poppy seeds, and everything bagel seasoning.
Bake in the oven for 10 to 12 minutes until golden and crispy.
Take out of the oven and serve warm!