Carnivorous plants need to be kept in peat or sphagnum and given rainwater or distilled water, they can't stand minerals. They also mostly need very bright lights. Sundews and pinguicula love gnats, but only catch the gnats that stray out and bump them. Speaking from experience, they don't have enough catching power to wipe out an infestation, though I do have a pinguicula on a living wall that keeps the very low gnat population from ever increasing. Not good gnat control, but neat plants.