使用 nixOS 安装输入字体时出现问题,如何使用“nix-store --add-fixed”?

使用 nixOS 安装输入字体时出现问题,如何使用“nix-store --add-fixed”?

NixOS版本:20.09.3765.d6f63659a70 (Nightingale)

我正在尝试安装输入字体在 NixOS 上(我对它还很陌生)。

我似乎无法在 NixOS 上安装输入字体,即使我的 /etc/nixos/configuration.nix 中有以下几行

fonts.fonts = with pkgs; [
  input-fonts
];

nixpkgs.config.allowUnfree = true;
nixpkgs.config.input-fonts.acceptLicense = true;

当尝试时nixos-rebuild switch,我收到以下错误:

***
Unfortunately, we cannot download file Input-Font.zip automatically.
Please go to https://input.fontbureau.com/download/ to download it yourself, and add it to the Nix store
using either
  nix-store --add-fixed sha256 Input-Font.zip
or
  nix-prefetch-url --type sha256 file:///path/to/Input-Font.zip

***

看起来问题在于 Fontbureau 页面没有可访问的静态下载 URL。

所以我手动下载了 zip 并运行nix-store --add-fixed sha256 Input-Font.zip,但坦率地说,我真的不知道如何处理输出,而且 --add-fixed 的文档并没有真正为我提供任何帮助。

我得到这样的输出:/nix/store/7vqs2n6hrnwgd9hf6rxyhg5hx5qnrd2s-Input-Font.zip

有谁更熟悉以这种方式安装软件包能够阐明如何处理这个问题吗?


或者,我可以从手动下载的文件中安装字体,但我也不清楚如何做到这一点,NixOS 文档指出:

Adding personal fonts to ~/.fonts doesn't work

The ~/.fonts directory is being deprecated upstream[1]. It already doesn't work in NixOS.

The new preferred location is in $XDG_DATA_HOME/fonts, which for most users will resolve to ~/.local/share/fonts

我也尝试在 ~/.local/share/fonts 中添加字体文件,但当我尝试在任何配置中使用它们时,它们仍然无法被识别。


对于使这些字体正常工作的任何一种方法的任何帮助,我们将不胜感激!

答案1

按照这些说明操作后,您应该重试安装。如果哈希值完全匹配,您将克服遇到的错误。

编辑:似乎已input-fonts损坏,这就是它无法工作的原因;请关注https://github.com/NixOS/nixpkgs/pull/118665

答案2

好吧,事实证明我只是多了一些 Linux 命令来学习手动安装字体。

最后这就是我所做的:

将输入 Mono 的所有 TTF 文件移至 ~/.local/share/fonts 中,并运行以下命令(单独):

fc-cache -f -v fc-list | grep "Input"

fc-cache 似乎刷新了字体缓存,fc-list 与 grep 打印出已安装输入字体的名称和样式,然后我可以在配置中使用它们。

Alacritty 配置能够即时切换字体,nix 配置字体更改需要重新启动。

相关内容