Summarize the following:
Smoke settles on everything. You may not be able to see the smoke, but it is still there. This "film" is often responsible for that smoke smell, long after the smoker has left.  In more drastic cases, you may have to repaint the walls and ceilings. The fresh paint will cover up the old paint, which has absorbed the smoke smell. Use a sealing primer first, behind the new paint. It will keep the bad smells in.  If you can't repaint the walls, use a matte, polyurethane sealer instead. It will seal the smell in without changing the color of your walls.  If your walls have wallpaper on them, wipe them down with vinegar first. If the smell lingers, you'll have to remove the old wallpaper, and install a new one. This includes window sills, mantels, furniture, and floors. It also includes cabinets, closets, drawers, and dressers, both inside and out. For this, you can use an ammonia-based cleaner, or white vinegar. Don't worry about the vinegar smell; it does not linger and eventually goes away. You can do this yourself by renting or buying a steam cleaning machine for carpets. You can also hire a professional carpet cleaner. In extreme cases, you may have to replace the carpet. Carpets are very difficult to get smells out of.  If you do replace the carpets, make sure that you scrub the floor beneath them to get rid of all traces of the smoke odor.  Add a deodorizer to your carpet steamer to power through stubborn smells. For machine-washable items, add 1 cup (240 milliliters) of white vinegar into the wash cycle. The vinegar will help get rid of the smells. For all other items, take them to a dry cleaner. Keep in mind that you may need to clean these items a few times to get rid of the smell.  In some cases, you may need to replace the pillows and blankets. You may also need to reupholster your furniture.  If machine washing does not eliminate smells in your clothes, take them to a dry cleaner. Take down all window coverings. If the curtains and drapes can be safely laundered, do so. If not, take them to a professional dry cleaner. You can clean the blinds in the bathtub using white vinegar. Smoke leaves behind a thin residue on everything, including windows and mirrors. You can't always see this film, but it is there. On very hot days, this film heats up, and makes the smell come back. So fill a spray bottle with some white vinegar, get out a paper towel, and start wiping the windows and mirrors down. You can also use a regular, household glass cleaner instead. It might be a good idea to get the light bulbs in your room as well, since those heat up as well. You can also just replace the light bulbs with new ones.
Wipe down the walls and ceilings with an ammonia based cleaner. Wipe down all hard surfaces. Steam clean the carpets. Clean your clothes, upholstery, pillows, and blankets. Clean the curtains, drapes, and blinds. Don't forget the windows and mirrors.