Proximity ranking stops at the Davidson County line, your trucks do not
Local results are drawn around your shop address, so every county you actually drive to has to be earned with content rather than with distance.
Google leans hard on where the searcher is standing and where your address sits. A shop in Donelson shows well in Donelson and Hermitage, thins through Green Hills, and is close to invisible by the time somebody in Franklin is typing with a dead furnace.
The usual response is a list of city names in the footer. It does not work and has not worked in years. A page has to know something about a place before it earns a position for it.
Build one page per county, or per cluster of neighborhoods you cover. Put real detail in it: the housing stock you find there, the equipment in those crawlspaces, your drive time, the hours you will actually dispatch. Williamson County and Rutherford County are separate arguments, not two entries in a title tag.
Nobody can promise you a map pack position in a town you are not near. What earned pages give you is a second route into those searches, one that does not depend on proximity at all.