Preheat oven to 450°F. Toss squash with olive oil, salt and pepper to season. Roast on a foil-lined baking sheet 20 to 25 minutes, until lightly browned. Set aside and turn the oven down to 350°F.
Bring a large pot of salted water to a boil. Add macaroni and cook until al dente according to the package instructions, about 8 minutes. Drain the cooked pasta and return it to the pot.
Meanwhile, heat a large pan over medium heat. Add the butter, onion and sage. Sauté 4 to 5 minutes until onions are translucent. Add the flour and stir to combine. Let the mixture cook for 1 to 2 more minutes. Whisk in stock and milk, and let come to a boil to thicken up.
Add the cheeses, mustard, nutmeg and cayenne. Stir to combine. Mix in the squash, using a whisk to mash up the squash a little. I prefer to leave a few chunky pieces of the squash in the sauce. Add salt and pepper to taste.
Pour the sauce over the cooked pasta and stir to combine. Pour the macaroni and cheese mixture into a buttered 9×13-inch casserole dish. Sprinkle the gingersnap cookie crumble and pecans over the top and drizzle with a little olive oil.
Cover with foil and bake 20 minutes. Remove foil and continue baking until lightly browned on top, about 30 minutes more.