Here's a recent tip we've picked up to remove the smell of smokers from our holiday cottage laundry, the towels, the bedding, rugs and soft furnishing covers. We were surprised it worked so well and doesn't require the purchase of proprietary cleansing products.
When washing the contaminated laundry, don't bother adding fabric conditioner, just add about 150 ml of distilled white vinegar to the main wash cycle in addition to the normal detergent. The result doesn't smell of vinegar. It also leaves towels fluffy too.