Idiomatic way to require local modules

I’m new to lua and nvim. I have done a plugin for nvim with lua. It consist of three lua modules and a lua file that interacts with vim. I included such local modules using the following

package.path = "./?.lua;" .. package.path;
local foo = require("foo");

From a lua point of view it worked, but once I moved them into its nvim place, nvim/after/syntax/lang/, such require fails (it seems it loads the working directory nvim was called with).
I just changed the path to ~/.config/nvim/after/syntax/lang/?.lua but I guess that’s not the proper way to do this. What’s the idiomatic way to solve this?