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
IGGabrielGraph
will 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$