From 1a9d18db015de19ce668965c4207980e24859623 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 21 Apr 2025 22:40:15 +0800 Subject: [PATCH] fix bug --- modules/nixos/fonts/fhs-fonts.nix | 36 +++++++++++++------------------ 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/modules/nixos/fonts/fhs-fonts.nix b/modules/nixos/fonts/fhs-fonts.nix index 9fc2a47..43d4cae 100644 --- a/modules/nixos/fonts/fhs-fonts.nix +++ b/modules/nixos/fonts/fhs-fonts.nix @@ -1,33 +1,27 @@ -{ - 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. - # - ################################################################################### +{ config, lib, pkgs, ... }: - system.fsPackages = [pkgs.bindfs]; +{ + system.fsPackages = [ pkgs.bindfs ]; fileSystems = let mkRoSymBind = path: { device = path; fsType = "fuse.bindfs"; - options = ["ro" "resolve-symlinks" "x-gvfs-hide"]; + options = [ "ro" "resolve-symlinks" "x-gvfs-hide" ]; }; - aggregatedFonts = pkgs.buildEnv { + # 修改聚合字体的方式 + aggregatedFonts = pkgs.symlinkJoin { 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"); + # 修改挂载点的路径和配置 + "/usr/share/icons" = mkRoSymBind "${config.system.path}/share/icons"; + "/usr/share/fonts" = mkRoSymBind "${aggregatedFonts}/share/fonts"; }; + + # 确保目录存在 + system.activationScripts.makeFontsDirectory = '' + mkdir -p /usr/share/fonts + mkdir -p /usr/share/icons + ''; }