Files
nix-config/modules/nixos/fhs-fonts.nix
2023-05-27 16:10:25 +08:00

26 lines
835 B
Nix

# copy from https://github.com/NixOS/nixpkgs/issues/119433#issuecomment-1326957279
# mainly for flatpak
# bindfs resolves all symlink,
# allowing all fonts to be accessed at `/usr/share/fonts`
# without letting /nix into the sandbox.
{ config, pkgs, ... }:
{
system.fsPackages = [ pkgs.bindfs ];
fileSystems = let
mkRoSymBind = path: {
device = path;
fsType = "fuse.bindfs";
options = [ "ro" "resolve-symlinks" "x-gvfs-hide" ];
};
aggregatedFonts = pkgs.buildEnv {
name = "system-fonts";
paths = config.fonts.fonts;
pathsToLink = [ "/share/fonts" ];
};
in {
# Create an FHS mount to support flatpak host icons/fonts
"/usr/share/icons" = mkRoSymBind (config.system.path + "/share/icons");
"/usr/share/fonts" = mkRoSymBind (aggregatedFonts + "/share/fonts");
};
}