Cook the noodles according to package directions to al dente. Be sure to salt your water, too. While the cooking water is coming to a boil, begin making the sauce.
After draining the noodles, toss the noodles in 4 tablespoons of cubed butter and set aside.
Over medium heat, melt the remaining 2 tablespoons of cubed butter in a large Dutch oven or stockpot.
Once melted, add the shallots (and peppers if using) and cook until barely softened, about 3 minutes, stirring often. Lower heat if necessary, to not burn them.
Add the bacon, pimentos, and chives, and stir to combine.
Slowly add all the dairy (evaporated milk, half and half, and heavy cream) and stir gently, but thoroughly.
Bring the mixture up to a gentle simmer.
Begin adding the three cheeses by handfuls, stirring to combine after each addition. You don’t want to add all the cheeses at once. Allow them to gradually melt.
Once all the cheeses are combined and nicely melted, add the black pepper, mustard, onion and garlic powders and stir well. Taste and adjust any seasonings as desired. (I had to add a very small amount of salt.)
Turn the oven broiler on. (Your macaroni and cheese should be nicely hot from cooking on the stove so that it doesn’t need baking time, only a light toasting of the croutons. However, if you are baking later, you will need to bake at 350 degrees for approximately 30 minutes.)
Make the topping: In a medium bowl, add the bread cubes and pour half of the melted butter and toss. Pour the other half melted butter and toss. Set aside.
Pour the macaroni and cheese into a greased 9”x13” dish. Top with the bread cubes and lightly sprinkle with salt and pepper.
Place under the broiler for about 1 to 2 minutes or until golden brown.
Carefully remove from the oven and serve.