34 lines
1.1 KiB
Nix
34 lines
1.1 KiB
Nix
{
|
|
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");
|
|
};
|
|
}
|