1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-09-21 13:57:31 +02:00
home-manager/modules/targets/darwin/fonts.nix
Robert Helgesson a04f37fab0
treewide: deprecate DRY_RUN_CMD and DRY_RUN_NULL
As a replacement, this adds the `run` helper function.
2024-04-10 21:27:15 +02:00

29 lines
769 B
Nix

{ 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";
in {
# macOS won't recognize symlinked fonts
config = mkIf pkgs.stdenv.hostPlatform.isDarwin {
home.activation.copyFonts = hm.dag.entryAfter [ "writeBoundary" ] ''
copyFonts() {
rm -rf ${homeDir}/Library/Fonts/HomeManager || :
local f
find -L "${fonts}" -type f -printf '%P\0' | while IFS= read -rd "" f; do
run install $VERBOSE_ARG -Dm644 -T \
"${fonts}/$f" "${homeDir}/Library/Fonts/HomeManager/$f"
done
}
copyFonts
'';
};
}