2024-05-23 20:26:30 +00:00
|
|
|
{
|
|
|
|
|
options,
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
with lib;
|
|
|
|
|
with lib.custom; let
|
|
|
|
|
cfg = config.ui.fonts;
|
|
|
|
|
in {
|
|
|
|
|
options.ui.fonts = with types; {
|
|
|
|
|
enable = mkBoolOpt false "Enable Custom Fonts";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
|
fonts = {
|
|
|
|
|
packages = with pkgs; [
|
|
|
|
|
material-icons
|
|
|
|
|
material-design-icons
|
|
|
|
|
roboto
|
|
|
|
|
work-sans
|
|
|
|
|
comic-neue
|
|
|
|
|
source-sans
|
|
|
|
|
twemoji-color-font
|
|
|
|
|
comfortaa
|
|
|
|
|
inter
|
|
|
|
|
lato
|
|
|
|
|
lexend
|
|
|
|
|
jost
|
|
|
|
|
dejavu_fonts
|
2025-04-27 11:11:51 -04:00
|
|
|
# iosevka
|
2025-01-12 13:37:57 -05:00
|
|
|
cantarell-fonts
|
2025-04-27 11:11:51 -04:00
|
|
|
(iosevka.override
|
|
|
|
|
{
|
|
|
|
|
set = "Custom";
|
|
|
|
|
privateBuildPlan = ''
|
|
|
|
|
# [buildPlans.IosevkaCustom]
|
|
|
|
|
# family = "Iosevka"
|
|
|
|
|
# spacing = "fontconfig-mono"
|
|
|
|
|
# serifs = "sans"
|
|
|
|
|
# noCvSs = true
|
|
|
|
|
# exportGlyphNames = true
|
|
|
|
|
#
|
|
|
|
|
# [buildPlans.IosevkaCustom.variants]
|
|
|
|
|
# inherits = "ss08"
|
|
|
|
|
#
|
|
|
|
|
# [buildPlans.IosevkaCustom.widths.Normal]
|
|
|
|
|
# shape = 500
|
|
|
|
|
# menu = 5
|
|
|
|
|
# css = "normal"
|
|
|
|
|
#
|
|
|
|
|
# [buildPlans.IosevkaCustom.widths.Extended]
|
|
|
|
|
# shape = 600
|
|
|
|
|
# menu = 7
|
|
|
|
|
# css = "expanded"
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom]
|
|
|
|
|
family = "Iosevka"
|
|
|
|
|
spacing = "normal"
|
|
|
|
|
serifs = "sans"
|
|
|
|
|
noCvSs = true
|
|
|
|
|
exportGlyphNames = true
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom.variants]
|
|
|
|
|
inherits = "ss17"
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom.variants.design]
|
|
|
|
|
capital-e = "top-left-serifed"
|
|
|
|
|
capital-u = "toothed-bottom-right-serifed"
|
|
|
|
|
f = "tailed"
|
|
|
|
|
m = "short-leg-top-left-and-bottom-right-serifed"
|
|
|
|
|
paren = "flat-arc"
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom.ligations]
|
|
|
|
|
inherits = "dlig"
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom.weights.Regular]
|
|
|
|
|
shape = 400
|
|
|
|
|
menu = 400
|
|
|
|
|
css = 400
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom.weights.Medium]
|
|
|
|
|
shape = 500
|
|
|
|
|
menu = 500
|
|
|
|
|
css = 500
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom.weights.SemiBold]
|
|
|
|
|
shape = 600
|
|
|
|
|
menu = 600
|
|
|
|
|
css = 600
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom.weights.Bold]
|
|
|
|
|
shape = 700
|
|
|
|
|
menu = 700
|
|
|
|
|
css = 700
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom.slopes.Upright]
|
|
|
|
|
angle = 0
|
|
|
|
|
shape = "upright"
|
|
|
|
|
menu = "upright"
|
|
|
|
|
css = "normal"
|
|
|
|
|
|
|
|
|
|
[buildPlans.IosevkaCustom.slopes.Italic]
|
|
|
|
|
angle = 9.4
|
|
|
|
|
shape = "italic"
|
|
|
|
|
menu = "italic"
|
|
|
|
|
css = "italic"
|
|
|
|
|
'';
|
|
|
|
|
})
|
2024-05-23 20:26:30 +00:00
|
|
|
noto-fonts
|
2024-10-31 21:01:42 -04:00
|
|
|
noto-fonts-cjk-sans
|
2024-05-23 20:26:30 +00:00
|
|
|
noto-fonts-emoji
|
|
|
|
|
jetbrains-mono
|
2024-12-16 16:39:20 -05:00
|
|
|
nerd-fonts.iosevka
|
2025-01-19 15:04:19 -05:00
|
|
|
nerd-fonts.zed-mono
|
2025-03-22 16:03:07 -04:00
|
|
|
adwaita-fonts
|
2025-04-07 13:07:15 -04:00
|
|
|
cozette
|
|
|
|
|
scientifica
|
2024-12-16 16:39:20 -05:00
|
|
|
# (nerdfonts.override {fonts = ["ZedMono" "Iosevka"];})
|
2024-05-23 20:26:30 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
enableDefaultPackages = false;
|
|
|
|
|
|
|
|
|
|
# this fixes emoji stuff
|
|
|
|
|
fontconfig = {
|
|
|
|
|
defaultFonts = {
|
|
|
|
|
monospace = [
|
2025-03-22 16:03:07 -04:00
|
|
|
# "Pragmata Pro Mono"
|
|
|
|
|
"Iosevka"
|
2024-05-23 20:26:30 +00:00
|
|
|
"Noto Color Emoji"
|
|
|
|
|
];
|
2025-03-22 16:03:07 -04:00
|
|
|
sansSerif = ["Adwaita Sans" "Noto Color Emoji"];
|
2024-05-23 20:26:30 +00:00
|
|
|
serif = ["Noto Serif" "Noto Color Emoji"];
|
|
|
|
|
emoji = ["Noto Color Emoji"];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|