{ runCommand, lib, fontconfig, fontDirectories, }: runCommand "fc-cache" { nativeBuildInputs = [ fontconfig.bin ]; preferLocalBuild = true; allowSubstitutes = false; passAsFile = [ "fontDirs" ]; fontDirs = '' ${lib.concatStringsSep "\n" (map (font: "${font}") fontDirectories)} ''; } '' export FONTCONFIG_FILE=$(pwd)/fonts.conf cat > fonts.conf << EOF ${fontconfig.out}/etc/fonts/fonts.conf $out EOF cat "$fontDirsPath" >> fonts.conf echo "" >> fonts.conf mkdir -p $out fc-cache -sv # This is not a cache dir in the normal sense -- it won't be automatically # recreated. rm -f "$out/CACHEDIR.TAG" ''