HELP PLS (sorry its long)

So today I started officially dating this guy I've been seeing for a while, and me obviously being very happy about this is texted a couple friends who knew I'd be asking him tonight, one of whom was my roommate. She ignored my text, and when she got home wasn't at all happy for me. She told me she hates my boyfriend and even though he makes me extremely happy, won't be happy for me. I spent almost a full year listening to her go on about a guy I didn't like, and when they dated for a bit I was happy for her because she was happy. She also basically tries to control my life? She wakes me up, tells me to do my homework, complains when I'm relaxing saying I'm "doing nothing", and I smoke weed medically for two anxiety disorders, depression, insomnia and chronic pain and she told me it makes her uncomfortable that I smoke, and she wants me to quit despite all the good it does for me and thinks I'll end up like her sister who is flunking out of school and addicted to drugs. I already feel like an idiot compared to her, she works 2 jobs and has amazing grades, I can barey keep my mental health in line having just school and my grades are not amazing. I'm not as intelligent as her and tonight was just the cherry on top of the cale with it all. Idk what to do guys :(( she's supposed to be my best friend but my new boyfriend has made me so happy since I met him. He's the only person completely understanding of me and never judging me cause he goes through a lot of the same stuff. I just can't bear to live with her like this but I can't move out... I'm 6 hours away from my parents and I have no way to talk to them about this. Any help?! :((