使用 NixOS 配置文件配置 GNOME 字体

使用 NixOS 配置文件配置 GNOME 字体

我最近从 迁移Arch LinuxNixOS。在摆弄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-managerdconf支持以声明方式设置配置:

dconf.settings = {
   "/org/gnome/desktop/interface" = {
      monospace-font-name = "B612 Mono 10";
   };
};

答案2

这取决于这些应用程序是否尊重 fontconfig 配置。如果 GNOME 调整没有做到这一点,则配置 fontconfig 不会产生明显的效果。

为了以声明方式配置 GNOME,也许可以查看 home-manager 的 dconf 选项。

相关内容