From 46c7e22c5edaa81b7cd0d77e4fff2a266fafe0d3 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 21 Apr 2025 22:48:36 +0800 Subject: [PATCH] fix font issue --- modules/nixos/fonts/default.nix | 3 ++- modules/nixos/fonts/fhs-fonts.nix | 25 +++++++++++++------------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/modules/nixos/fonts/default.nix b/modules/nixos/fonts/default.nix index 27bff4f..6fd07a6 100644 --- a/modules/nixos/fonts/default.nix +++ b/modules/nixos/fonts/default.nix @@ -15,7 +15,7 @@ enableDefaultFonts = false; fontDir.enable = true; - fonts = with pkgs; [ + packages = with pkgs; [ # Noto 系列字体是 Google 主导的,名字的含义是「没有豆腐」q(no tofu),因为缺字时显示的方框或者方框被叫作 tofu # Noto 系列字族名只支持英文,命名规则是 Noto + Sans 或 Serif + 文字名称。 # 其中汉字部分叫 Noto Sans/Serif CJK SC/TC/HK/JP/KR,最后一个词是地区变种。 @@ -29,6 +29,7 @@ source-han-sans # 思源黑体 source-han-serif # 思源宋体 + nerdfonts.jetbrains-mono # nerdfonts (nerdfonts.override { fonts = [ diff --git a/modules/nixos/fonts/fhs-fonts.nix b/modules/nixos/fonts/fhs-fonts.nix index 43d4cae..656f49f 100644 --- a/modules/nixos/fonts/fhs-fonts.nix +++ b/modules/nixos/fonts/fhs-fonts.nix @@ -8,20 +8,21 @@ fsType = "fuse.bindfs"; options = [ "ro" "resolve-symlinks" "x-gvfs-hide" ]; }; - # 修改聚合字体的方式 - aggregatedFonts = pkgs.symlinkJoin { + aggregatedIcons = pkgs.buildEnv { + name = "system-icons"; + paths = with pkgs; [ + #libsForQt5.breeze-qt5 # for plasma + gnome.gnome-themes-extra + ]; + pathsToLink = [ "/share/icons" ]; + }; + aggregatedFonts = pkgs.buildEnv { name = "system-fonts"; - paths = config.fonts.fonts; + paths = config.fonts.packages; + pathsToLink = [ "/share/fonts" ]; }; in { - # 修改挂载点的路径和配置 - "/usr/share/icons" = mkRoSymBind "${config.system.path}/share/icons"; - "/usr/share/fonts" = mkRoSymBind "${aggregatedFonts}/share/fonts"; + "/usr/share/icons" = mkRoSymBind "${aggregatedIcons}/share/icons"; + "/usr/local/share/fonts" = mkRoSymBind "${aggregatedFonts}/share/fonts"; }; - - # 确保目录存在 - system.activationScripts.makeFontsDirectory = '' - mkdir -p /usr/share/fonts - mkdir -p /usr/share/icons - ''; }