Project local fonts

I have been very happily using nix to manage the dependencies of a latex project. My default.nix may or may not be important but it is presented at the end. I could move between computers and it would only install a small subset of texlive on demand. That is until I tried to use a computer that did not have all the fonts the project uses. Are we at the mercy of the OS when it comes to fonts or is there a way to install project-local fonts at least for latex?

{ pkgs ? import <nixpkgs> {}} :
let
  dot2tex = pkgs.python2Packages.dot2tex;
  lua = pkgs.luaPackages.luaposix;
  tex = with pkgs; (texlive.combine {
    inherit (texlive)
      scheme-small
      enumitem
      mdframed
        needspace
        zref
      biblatex
      xcolor
      tcolorbox
      titlesec
      adjustbox
      collectbox
      emoji
      datetime2
      etoolbox
      tracklang
      environ
      abstract
      cancel
      latexmk
      minted
      fvextra
      catchfile
      xstring
      koma-script
      framed
    ; });
  py = pkgs.python39.withPackages (p: with p; [pandas numpy pygments matplotlib]);
in pkgs.stdenv.mkDerivation {
  pname = "thesis";
  version = "0.0.1";
  src = ./.;
  buildInputs = [tex py];
  phases = "buildPhase";
  buildPhase = ''
  ./build.sh
  '';
  # ${./.} is the path to /nix/store/... ${toString ./.} evaluates to
  # the current directory.
  LUA_PATH = "${toString ./.}/lua/?.lua;$LUA_PATH";
}

For LuaLaTeX, OSFONTDIR environment variable should work, see Exploring Nix Flakes: Build LaTeX Documents Reproducibly. For other programs, you might need FONTCONFIG_FILE or even GDFONTPATH.