Oftentimes /opt is used for such a purpose.
The use of /opt for add-on software is a well-established practice in the UNIX community. The System V Application Binary Interface [AT&T 1990], based on the System V Interface Definition (Third Edition), provides for an /opt structure very similar to the one defined here.
And games are additional (i.e. nonnecessary) software.
It's fine.
Remember, it's your home directory; you can do anything you want in there. GNOME/KDE/whatever might complain if you go around deleting .config, but anything you do in your home directory will, by definition, only affect you. Adding some directories in .local is harmless.
Putting something in a dot directory will be mildly inconvenient, depending on your workflow. How much it will affect you depends on how you navigate the filesystem and how often you'll need to do it. If it was me, I'd make a regular directory to act as a root (probably call it local or apps) and use it that way, but that's personal preference.
Where you'll run into problems is that the system isn't set up to see your directory. You'll need to adjust PATH, MANPATH, INFOPATH, and LD_LIBRARY_PATH in your .bashrc (or whatever is appropriate for your shell). There will likely be other small "gotchas" as well.
I'm willing to be that there aren't many posts here about it because not many people need to do it. If it's a personal machine, there are few reasons not to use /usr/local. Everything's already set up for it in most distributions. If you're just installing a few apps, a lot of people make directories in /opt (like /opt/blender). Solaris does this when you install a package.
The only real use case for what you're describing is for developers or people who don't have root on their machine. Most people who don't have root just ask the admin to install a program for them - they probably wouldn't know how to compile a program anyway.
Best Answer
There is a difference between
/opt
and/usr/local/bin
. So just symlinking binaries from one to another would be confusing. I would not mix them up./opt
is for the installation of add-on application software packages, whereas the/usr/local
directory is for the system administrator when installing software locally (withmake
andmake install
)./usr/local/bin
is intended for binaries from software installed under/usr/local
.According to the File Hierarchy Standard, the correct way would be to add
/opt/<package>/bin
to the$PATH
for each individual package. If this is too painful (when you have an uncountable number of/opt/<package>/bin
direcories for example) then you (the local administrator) can create symlinks from/opt/<package>/bin
to the/opt/bin
directory. This can then be added to the users$PATH
once.