In which directory at best I would move private header files so that the compiler find it by default?
I have to compile a program from github where some headers are was missed. I found them in the net, and now I'm unsure where I should them place at best so the compiler find it by default.
Or, alternatively, which environment variable(s) I need to change so the headers will be found by default?
Does your distro have package management? If yes, then files are preferentially installed from packages (that contain metadata to also uninstall in managed fashion).
You did find the headers, but did you check that no package repository for your distro has them in packages?
If the headers are not packages and you are the only one using them, then best option is to have them under your $HOME and tell the compiler&linker where to look from (the -I and -L options).
You probably pass options to compiler via Makefile which in turn is generated by configure, cmake, IDE, etc.
Both #include "foo" and #include <foo> seek from multiple paths.
Read the documentation of preprocessor with man cpp
(or one of the online copies, e.g. https://man7.org/linux/man-pages/man1/cpp.1.html but note that online version might not match the version of cpp that you have).
From that text seek the description of options -iquote and -isystem.