Add bathroom light fixture to GFCI or not possible

bathroomgfcilight-fixture

In my bathroom near the sink is a GFCI outlet. I installed a new medicine cabinet and I want to add lights that currently do not exist. I will connect these fixtures with Romex wiring that I will install. But what I want to know is, can I pigtail my new lights from the power that currently connects the GFCI on the same wall? I just read that a GFCI has to be powered by a separate circuit on another forum. But I'm not sure if this is correct. If this is the case and I CANNOT pigtail from the GFCI can I run a Romex from an outlet from the bedroom next door and run it to the same junction box. To keep things looking neat and tidy I want to replace the existing GFCI with a two gang junction box that will allow me to have a GFCI and a light switch all under one switch plate.

If I can do any of the above would you be willing to provide me with detailed instructions?

Thank you.

By the way, this is the light switch I want to add in the long run:

enter image description here

Photo of blue junction box below added 03/19/18 at 2:35PM PST

enter image description here

Drawing of my junction box to explain what's what:

enter image description here

Should I just follow this diagram? I need visuals and I can duplicate this since I can see it. But this doesn't look anything like what Jim Stewart was telling me to do in terms of wiring:
enter image description here

This wiring diagram belongs to do-it-yourself-help.com. The original can be found here: https://www.do-it-yourself-help.com/gfci_wiring_diagrams.html

Best Answer

The NEC reference is Article 210.11 (C)(3) - It basically states that you must provide one 20A circuit to supply bathroom(s) receptacles(s) with one exception. "Where the 20 amp circuit supplies only one bathroom, outlets for other equipment within the same bathroom shall be permitted to be supplied ...".

All that being said, if your dwelling was built prior to this becomming code, you will fall under the grandfather clause which is pretty much explained by @Jim Stewart.

So if you want to upgrade you can or you can leave as is.

Hope this helps.