{ config, lib, pkgs, ... }: with lib; let homeDir = config.home.homeDirectory; fontsEnv = pkgs.buildEnv { name = "home-manager-fonts"; paths = config.home.packages; pathsToLink = "/share/fonts"; }; fonts = "${fontsEnv}/share/fonts"; installDir = "${homeDir}/Library/Fonts/HomeManager"; in { # macOS won't recognize symlinked fonts config = mkIf pkgs.stdenv.hostPlatform.isDarwin { home.file."Library/Fonts/.home-manager-fonts-version" = { text = "${fontsEnv}"; onChange = '' run mkdir -p ${escapeShellArg installDir} run ${pkgs.rsync}/bin/rsync $VERBOSE_ARG -acL --chmod=u+w --delete \ ${escapeShellArgs [ "${fonts}/" installDir ]} ''; }; }; }