I suggest using shame to leverage yourself into quitting. It's fallen out of favor in our society, but shame really should be a powerful motivator.
I used it to quit smoking tobacco, quit drinking, and quit a 20+ habitual marijuana habit. I use shame to make myself do that extra bit of work in the evenings after my family has gone off to bed. Shame has plenty of good uses if leveraged properly.
I knew it was working for me when I didn't want anyone to ever see me smoking. I definitely didn't want my child to see me smoking. But first it was coworkers or in-laws and such.
Associate the habit with someone you don’t like. That’s how I stopped all of my bad habits. Smoking, drinking, herb, going to the bar, eating like crap, not exercising, etc. I just associated each habit with someone I didn’t like or respect.
Then I took a long had look in the mirror and told myself that I was better than that person and that I could make better decisions.