我最近从 迁移Arch Linux
到NixOS
。在摆弄NixOS
配置时,我注意到有一个部分用于配置字体。这就是我这边的样子:
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
...
fonts = {
enableDefaultFonts = true;
fontDir.enable = true;
fontconfig = {
antialias = true;
cache32Bit = true;
# TODO: Set fonts within GNOME Tweaks for the time being
# defaultFonts = {
# monospace = [ "Ubuntu Mono Regular" ];
# sansSerif = [ "Ubuntu Regular" ];
# serif = [ "Ubuntu Regular" ];
# };
hinting.autohint = true;
hinting.enable = true;
};
fonts = with pkgs; [
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
# noto-fonts-extra
ubuntu_font_family
];
};
...
}
我想要实现的是以Ubuntu
与我使用相同的方式设置字体GNOME Tweaks
:
我想知道是否fonts.fontconfig.defaultFonts
(或任何其他设置)可以用于此目的?到目前为止,我已经尝试这样做,但它们设置不正确。
答案1
处理这类事情的一个好工具是dconf watch /
.通过 Gnome Tweaks 更改等宽字体时,它向我显示了以下内容:
/org/gnome/desktop/interface/monospace-font-name
'B612 Mono 10'
然后您可以继续使用home-manager
的dconf
支持以声明方式设置配置:
dconf.settings = {
"/org/gnome/desktop/interface" = {
monospace-font-name = "B612 Mono 10";
};
};
答案2
这取决于这些应用程序是否尊重 fontconfig 配置。如果 GNOME 调整没有做到这一点,则配置 fontconfig 不会产生明显的效果。
为了以声明方式配置 GNOME,也许可以查看 home-manager 的 dconf 选项。