It is not wise to move all home directories to hdd.(It is said that it is not advisable to move all home directories to hdd.) Why→https: //forums.tomshardware.com/threads/move-user-folder-from-ssd-to-hdd.2046956/
While this may be true in windows, it is patently false with Linux. Don't take windows advice and try to apply it to Linux. It just doesn't work very well at all.
Login as root via a console session, with no other user name logged-in.
Move the entire contents of the /home directory over to the drive you want it on.
Edit /etc/fstab to mount the drive partition under the /home directory.
You're done, and your system experience will be seamless despite the move.
One change is all that's needed, instead of littering your filesystem with symbolic links that have to be un-linked and re-linked if you make changes in the future. Aside from that, the contents of /etc/fstab documents the system configuration for you. I doubt that you're going to maintain a system configuration document to keep track of all the symbolic links you might create doing something like this.
Linux has its origins in the UNIX world, and carries its multiuser traits over quite faithfully. While having the /home, /tmp, and /var (as well as other) directories serving as mount points for partitions on physically separate hard drives is usually done at the time of installation, it is a trivial matter to do these kinds of things post install, and that is by design.
BTW: Most programs are installed in /bin, /sbin, or /opt; along with a scattering of directories in /usr. User data files, configuration settings, and vectors to installed programs live in /home; so you aren't going to take a noticeable hit on execution speed by plopping the entirety of /home on a mechanical drive.
If you have a swap partition on a separate HDA, on a different controller channel in a system that is prone to using swap regularly, you enhance the overall system performance.