33 lines
729 B
Nix
33 lines
729 B
Nix
|
{ options, config, pkgs, lib, ... }:
|
||
|
|
||
|
with lib;
|
||
|
with lib.metacfg;
|
||
|
let cfg = config.metacfg.system.fonts;
|
||
|
in
|
||
|
{
|
||
|
options.metacfg.system.fonts = with types; {
|
||
|
enable = mkBoolOpt false "Whether or not to manage fonts.";
|
||
|
fonts = mkOpt (listOf package) [ ] "Custom font packages to install.";
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
environment.variables = {
|
||
|
# Enable icons in tooling since we have nerdfonts.
|
||
|
LOG_ICONS = "true";
|
||
|
};
|
||
|
|
||
|
fonts = {
|
||
|
fontDir = enabled;
|
||
|
|
||
|
fonts = with pkgs;
|
||
|
[
|
||
|
noto-fonts
|
||
|
noto-fonts-cjk-sans
|
||
|
noto-fonts-cjk-serif
|
||
|
noto-fonts-emoji
|
||
|
(nerdfonts.override { fonts = [ "Hack" ]; })
|
||
|
] ++ cfg.fonts;
|
||
|
};
|
||
|
};
|
||
|
}
|