Mine was heavily smoked in. The light grey cloth upholstery was actually brown.
It was so bad I wasn't going to purchase the vehicle, but the price was great and I knew the history of the vehicle. Even the windows had a film of smoke on them. It was quite bad. My wife was NOT HAPPY i bought it...more like ANGRY

....said I'll never get the smell out!
Bought a Bissel Green Machine at Walmart for $80.
I shampoo'd mine about 4-5 times over the span of of a two weeks and the smell was pretty well gone. I left the windows open whenever I could for the next 2 months, even only if a few inches, just so air could circulate. By the end of the 2 mths you could never tell it was a heavily smoked in vehicle.
I used the Rug Doctor Oxy-Clean solution. Surprisingly the price for these solution jugs seemed to be the cheapest at the display at the front of the store where you can rent a machine (like at a grocery store) vs buying it in the aisle at Walmart/Home Depot/Menards etc.
You won't believe how much 'brown' comes out of the cloth, even when it looks cleaned!
I also used PineSol to wash down all the hard surfaces and vents. I had to do this several times also.
PS.
I did not replace the headliner. I thought I may have to, but decided to first try to clean it . It was a pain to shampoo up there (weak arms ...haha...it just un-natural to work like that!), but it was actually easier to suck out the bad stuff out, as gravity worked with you. I pre-sprayed the headliner with a couple of containers of spot cleaner just to loosen things up. I'm surprised it cleaned up and didn't need to be replaced.
A friend had bought smoked in car a year before me. He took it in for the professional ozone treatment. It did take most of the smell out, but you could still smell the smoke. Based on his experience i decided to try and do it myself. I think I got better results. Maybe they didn't do a good job, so some shops my be better than others and actually doing a 'professional' job? The shop closed up after 2yrs, so maybe they didn't do good work. Anyways, just food for thought.