52 lines
1.3 KiB
Nix
52 lines
1.3 KiB
Nix
{ lib
|
|
, pkgs
|
|
, config
|
|
, ...
|
|
}:
|
|
with lib; let
|
|
cfg = config.eboskma.fonts;
|
|
|
|
iosevka-buildplans = builtins.fromTOML (builtins.readFile "${pkgs.iosevka.src}/build-plans.toml");
|
|
iosevka-aile = pkgs.iosevka.override {
|
|
privateBuildPlan = iosevka-buildplans.buildPlans.iosevka-aile;
|
|
set = "aile";
|
|
};
|
|
in
|
|
{
|
|
options.eboskma.fonts = {
|
|
enable = mkEnableOption "activate fonts";
|
|
iosevka-aile = mkOption {
|
|
description = "Install Iosevka Aile";
|
|
type = types.bool;
|
|
default = true;
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
fonts = {
|
|
fontDir.enable = true;
|
|
|
|
packages = with pkgs; [
|
|
(nerdfonts.override { fonts = [ "CascadiaCode" "DroidSansMono" "FiraCode" "Inconsolata" "Iosevka" "Monoid" "Meslo" "Noto" "SourceCodePro" ]; })
|
|
corefonts
|
|
dejavu_fonts
|
|
google-fonts
|
|
kochi-substitute
|
|
material-icons
|
|
noto-fonts-emoji
|
|
recursive
|
|
ttf_bitstream_vera
|
|
twitter-color-emoji
|
|
] ++ lib.optional cfg.iosevka-aile iosevka-aile;
|
|
|
|
fontconfig = {
|
|
defaultFonts = {
|
|
serif = [ "Recursive Sans Casual Static Medium" ];
|
|
sansSerif = [ (if cfg.iosevka-aile then "Iosevka Aile" else "DejaVu Sans") ];
|
|
monospace = [ "Iosevka Nerd Font" ];
|
|
emoji = [ "Twitter Color Emoji" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|