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