If you look at the teachings of Islam, every time there is something Allah has instructed you to do. If you look at prayer five times a day, every single day, you need a lot of discipline to fulfill that. So there must be a reason why Allah wants us to be disciplined and fulfill it every day.
When Satan wants to trap you, he has to use the similar concept that you use when you want to trap a rat.
When you discipline yourself for the sake of Allah, you will lead a very content life. You will be the happiest person yet you’ve never touched a drug, Yet You don’t smoke or drink.. Yet You don’t have bad habits. But you are a happy, content person. You know why? you are focused on the right things in life.
A habit is something you got yourself into. I promise you, don’t blame someone else for your bad habits. They are yours. You will have to work on your bad habits. No one else is going to be able to eradicate it, but they will either produce towards it or away from it.
Discipline yourself for the sake of Allah and watch your doors opening. Replace something bad with the recitation of the Quran with the dhikr of Allah. Repeat the names of Allah. Repeat some of the words taught by the prophet (pbuh) of praise of Allah, of praise of the messenger (pbuh), Send blessings and salutations upon him and see what it does to you? Sit down. Think about it.
What goodness do you have that people can take from you? Come on, you have to have it because you are part of the people on the Earth who have to leave a legacy.
Remember, your body gets tuned to something that you tuned to, so tune it towards Allah, not away from Allah. If you have a habit of anything, be it weed or whatever, you need to convert it to something good.