{ config, pkgs, ... }: { ################################################################################### # # Copy from https://github.com/NixOS/nixpkgs/issues/119433#issuecomment-1326957279 # Mainly for flatpak # 1. bindfs resolves all symlink, # 2. allowing all fonts to be accessed at `/usr/share/fonts` # 3. without letting /nix into the sandbox. # ################################################################################### 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"); }; }