idiosyn/home/config/nil/founts.nix

79 lines
1.5 KiB
Nix

{ self, ... }: { config, lib, pkgs, ... }@args:
let
osConfig = args.osConfig or { };
in lib.mkIf (osConfig.hardware.graphics.enable or false) {
fonts.fontconfig = {
enable = true;
defaultFonts = {
sansSerif = [
"Lato"
"M PLUS 1"
"Noto Sans"
"Symbols Nerd Font"
"Unifont"
"Unifont Upper"
];
serif = [ "Noto Serif" ];
monospace = [
"idiosyn sans term"
"Fira Code"
"Julia Mono"
"M PLUS 1 Code"
"Noto Sans Mono"
"Symbols Nerd Font Mono"
];
emoji = [ "Noto Color Emoji" ];
};
};
home.packages = with pkgs; [
fira-code
julia-mono
lato
mplus-outline-fonts.githubRelease
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
noto-fonts
noto-fonts-color-emoji
unifont
];
stylix.fonts = {
sansSerif = {
package = pkgs.lato;
name = "sans-serif";
};
serif = {
package = pkgs.noto-fonts;
name = "serif";
};
monospace = {
package = pkgs.iosevka.override {
set = "-idiosyn-sans-term";
privateBuildPlan = import ./iosevka.nix // {
family = "idiosyn sans term";
spacing = "term";
};
};
name = "monospace";
};
emoji = {
package = pkgs.noto-fonts-color-emoji;
name = "emoji";
};
sizes = {
terminal = 11;
popups = 13;
};
};
xdg.configFile."fontconfig/conf.d/80-fira-code.conf".source = ./fira-code.xml;
}