Dig a trench with a shovel along the driveway’s sides deep enough to hold a 6-inch gravel base, an inch of sand and the height of the stones. For example, for adding a 2-foot wide border on each side of the driveway, make the trenches 2 feet wide.
Compact the soil in the trenches’ bottoms with a tamper.
Lay landscaping fabric over the soil inside the trenches. The fabric blocks weed growth and stabilizes the soil.
Pour 3 inches of gravel into the trenches, compacting the gravel with the tamp. Add another 3 inches of gravel to the trenches, and then tamp it down as well.
Add an inch of sand on top of the gravel and smooth it with a 2-by-4-inch board.
Place edge restraints into the trench along the edges. Drive the stakes or pins provided with the restraints into the ground, securing the restraints in place.
Begin laying the stones in the first trench at the bottom of the driveway. Keep the stones about one-half inch apart when laying them and stagger them in each row, so that they're not aligned. Make any needed cuts in the stones with a wet saw. Place 10 rows of stones into the trench.
Cover the stones with sand and pour water over them. The water compacts the sand in between the stones. The sand locks the stones in place while you finish laying stones in the rest of the trench.
Lay more stones into the trench, 10 rows at a time, using the same method used for the first 10 rows.
Mix a batch of concrete mortar, as per the packaging instructions. Stir the concrete mortar until it's as thick as a milkshake.
Place the concrete into the gaps between the stones with a grout bag or pour it over the stones. Fill the joints until the concrete is even or slightly higher than the stones’ tops. Allow the mortar to set for about 30 minutes, and then smooth the mortar surface with a trowel.
Remove the excess mortar from the stones’ tops by sponging it off. Let the mortar set for one week. Lay the stones in the other trench, using the same process you for the first side of the driveway.