config/modules/nixos/ui/fonts/default.nix

71 lines
1.5 KiB
Nix
Raw Normal View History

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
2024-09-18 15:32:57 -04:00
(pkgs-unstable.iosevka.override {
set = "Custom";
privateBuildPlan = ''
[buildPlans.IosevkaCustom]
family = "Iosevka"
spacing = "normal"
serifs = "sans"
noCvSs = true
2024-09-21 18:49:15 -04:00
exportGlyphNames = true
2024-09-18 15:32:57 -04:00
[buildPlans.IosevkaCustom.variants]
2024-11-06 13:40:30 -05:00
inherits = "ss14"
2024-09-18 15:32:57 -04:00
'';
})
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-05-27 03:11:41 -04:00
(nerdfonts.override {fonts = ["Iosevka" "JetBrainsMono"];})
2024-05-23 20:26:30 +00:00
];
enableDefaultPackages = false;
# this fixes emoji stuff
fontconfig = {
defaultFonts = {
monospace = [
"Iosevka Font Mono"
"Iosevka"
2024-05-23 20:26:30 +00:00
"Noto Color Emoji"
];
2024-09-12 14:09:39 -04:00
sansSerif = ["Iosevka" "Noto Color Emoji"];
2024-05-23 20:26:30 +00:00
serif = ["Noto Serif" "Noto Color Emoji"];
emoji = ["Noto Color Emoji"];
};
};
};
};
}