XeLaTex + FontAwesome
Once download the font file from FontAwesome and install to be system font, open the font application and confirm the FontAwesome name.
Due to FontAwesome version is 5.7.2 at this time, this version has three font type in system font.
Their names are
Font Awesome 5 Free Regular
Font Awesome 5 Free Solid
Font Awesome 5 Brands Regular
So define command for FontAwesome:
\newfontfamily{\FAFR}{Font Awesome 5 Free Regular}
\newfontfamily{\FAFS}{Font Awesome 5 Free Solid}
\newfontfamily{\FAB}{Font Awesome 5 Brands Regular}
Simply redefine:
\def\faEmail{{\FAFR \symbol{"F0E0}}} % Email
\def\faPhone{\FAFS \symbol{"F095}} % Phone
\def\faLinkedin{\FAB \symbol{"F08C}} % Linkedin
\def\faGithub{\FAB \symbol{"F09B}} % Github
\def\faStackOverflow{\FAB \symbol{"F16C}} % StackOverflow
Fontspec taps into your system fonts by default, so: FontAwesome needs to be installed as a normal system font like every other. If you don't see it in Fontbook or the like, you didn't install it properly.
(lines 7 and 8 of the gist you quote mention this, but I'm reiterating it just in case)
If instead you want to run it "from file" rather than installing it as system font, don't use \newfontfamily{\FA}{FontAwesome Regular}
but use the "from path" way to load a font file, as explained over on the tex.stackexchange site, in https://tex.stackexchange.com/questions/12565/load-fonts-that-are-in-a-fonts-directory