There is always hope.
Start by taking good care of yourself and your kids, and not making things worse.
he thinks I am an insecure nag.
His statements like that are pretty suspect, but this would be a good time to work 10X as hard to do zero of that.
I've been nagged. I've done some nagging. Pretty much all of it created conflict without helping anything.
One thing that helped me stop was the idea "He's not stupid (or ignorant), he's crazy." Start with the drug addiction as a prime example.
I'm sure he's heard from you a few times that drug addiction is dangerous, and that it is harming him. I'm sure he's heard it from other sources as well, and even seen people who have problems and are messing up their lives.
You aren't going to find the magical words to say it and he will suddenly "understand" and stop it.
He isn't doing drugs out of stupidity or ignorance.
He's doing it because he's addicted, and because there is some giant gaping emotional hole in himself that he's trying soo hard to fill by throwing drugs into it. And perhaps he feels less empty briefly when he starts using, before he crashes down even worse.
He is working very hard to convince himself that what he sees himself doing isn't really happening. VERY HARD.
If you say anything about it, he is able to take the fight with himself over it and turn it into a fight with you... .and this gives him some relief from his inner conflict because now he's mad at you and can blame everything on you. No, it isn't right, true, or accurate... .but it FEELS easier for him.
I wish I could say that he would figure it out if you stopped nagging for just a day (or a week, or a year), but I can't say that. He might. He might not.
What I can say is that any nagging you do makes it HARDER for him to see himself and make that tough choice, if not impossible.