Hello yw3a14,
This tutorial will be helpful.
Basically, create a new cell, load the gds with load_gds().put() and create and put pins with nd.Pin().put(). You can also flatten the gds in your new cell using instantiate=False:
import nazca as nd
with nd.Cell(name='cellname') as C:
nd.load_gds(
filename='<filename>',
cellname='<cellname>',
instantiate=False,
).put(0) # puts (0, 0) in the gds at (0, 0) of cell C.
# Add Pins
nd.Pin('<name>', width=<width>, xs=...).put(<x>, <y>, <angle>)
...
C.put(0)
Ronald