I had used
mesh = IGLatticeMesh["Hexagonal", Polygon@CirclePoints[3, 6], MeshCellLabel -> {2 -> "Index"}] graph = IGMeshCellAdjacencyGraph[mesh, 2, VertexCoordinates -> Automatic]; from a thread here to create nearest neighbor graph in Mathematica for a Hexagonal Grid. I would like to do the same in 3D with alternative sphere packing strategies. I have not figured out how to extend the item above



IGGabrielGraphwill give you what you need in most cases. You did not mention any specific point arrangements you want, so I won't go into that. $\endgroup$