Heat oven to 200C/180C fan/gas 6. Arrange the red onions, red pepper, courgette and aubergine in lines on a large baking sheet. Drizzle with a little oil and roast for 15 mins.
Cook the pasta for 10-12 mins until al dente. While the pasta is cooking, loosely wrap the salmon fillet in foil and do the same with the chicken and pesto in another foil parcel, then put them on another baking tray.
When the veg have had their 15 mins, put the salmon and chicken in the oven and cook for a further 12 mins (or until the chicken is cooked through). Drain the pasta, put in a bowl and toss really well with the lemon zest and juice, rapeseed oil, garlic and two-thirds of the basil. When everything is cooked, add the red onions to the pasta. Toss together and divide between three lunch boxes.
Top the first box with the salmon fillet (remove the skin first), then add the red pepper from the tray. Scatter over the capers and add the rocket. To the second box, add the chicken and pesto with any juices, the roasted courgette and the halved cherry tomatoes. In the third box, toss the aubergine into the pasta with the quartered cherry tomatoes, olives and the remaining basil. Seal up each container and chill. Eat within three days, preferably in the order of the salmon, then the chicken and then the aubergine.