I think the specifics depends on the tool on which you working. Generally, however, this is a leveling exercise using a fixed resource or fixed utilization constraint.
In the tool, set your work packages to "fixed utilization" rather than fixed work or fixed duration. Set all work packages to "start as soon as possible." Link all work packages together in the predecessor/successor logic that makes sense, i.e., finish-start, start-start, finish-finish. There is not tool smart enough to be able to automatically establish your hard and soft horizontal and vertical logic of your network diagram. You will have to do much of the sequencing of work manually, allowing the tool to fine tune based on the fixed resource constraint.
Leave no work package as an orphan; all packages need to be linked.
Load your resources and assign the appropriate utilization level, e.g., 100%, 50%, whatever. Assign your resource(s) to the package.
Allow your tool to level the schedule and examine the results. The tool should alert you if it was unable to reconcile a conflict, meaning it scheduled but it may leave a resource over utilized. You will have to manually adjust that.
Since it is fixed utilization, the tool will adjust work and duration to keep all resources at no greater than the assigned utilization factor, except if it was unable to resolve a conflict. The results, however, may be clugy since the tool is only so smart. Likely, you will have to manually adjust.
I would strongly advise, however, not to chase a perfect schedule with no over utilized resources. The second you press start and begin loading actuals, everything changes anyway. So getting close enough is good enough for a PMB.