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 配置字体更改需要重新启动。