Just some thoughts...
All depends on what type of study do you want to do.
An aside note: studying the interaction or behavior of a ligand attached to a surface is different to study the passivation of that surface with the same ligand.
For only one ligand, you can search the surface for symmetry sites and then, manually (just adding it to a distance lower than $1.5\overset{\circ}{\mathrm{A}}$), attach the ligand in each site (for covalent bond). In case of noncovalent bond, you can manually put the ligand separated from the surface a distance, and then do several calculations on which you decrease that distance. This will with you the potential energy interaction curve as a function of the ligand-surface distance. Then, you can put the ligand in the position that gave the minimum energy and run a geometry optimization.
For several ligands, you can use software like
PACKMOL creates an initial point for molecular dynamics simulations by packing
molecules in defined regions of space. The packing guarantees that
short range repulsive interactions do not disrupt the simulations.
The great variety of types of spatial constraints that can be
attributed to the molecules, or atoms within the molecules, makes it
easy to create ordered systems, such as lamellar, spherical or tubular
lipid layers.
The user must provide only the coordinates of one molecule of each
type, the number of molecules of each type and the spatial constraints
that each type of molecule must satisfy.
A tool for the automatized exploration of the low-energy chemical structure
space normally not consisting of any covalent bond break/formation. As
its name implies, the main application of CREST is the generation of
conformer ensembles with an algorithm called iMTD-GC, but other
related applications, such as the screening of different noncovalently
bound aggregates, or the screening for different protonation sites are
also implemented.