fonts.nix: Add Iosevka

This commit is contained in:
Charlie Root 2024-09-03 15:20:22 +02:00
commit 2b8a0b63d8

View file

@ -3,23 +3,62 @@
pkgs, pkgs,
... ...
}: let }: let
inherit (config.modules.system.fonts) extraFonts;
inherit (config.modules.other.system) username; inherit (config.modules.other.system) username;
inherit (builtins) mapAttrs;
in { in {
# A (somewhat) sane list of default fonts to be installed. # A (somewhat) sane list of fonts to be installed.
fonts.packages = with pkgs; fonts = {
[ fontconfig = {
etBook # Whether to enable fontconfig configuration. This will, for
# example, allow fontconfig to discover fonts and configurations
# installed through home.packages and nix-env.
enable = true;
# Enable font antialiasing.
antialias = true;
# Enable font hinting. Hinting aligns glyphs to pixel boundaries
# to improve rendering sharpness at low resolution.
hinting.enable = true;
# Set the defalt fonts. This was taken from raf,
# many thanks.
defaultFonts = let
common = [
"Iosevka Nerd Font"
"Symbols Nerd Font"
"Noto Color Emoji"
];
in
mapAttrs (_: fonts: fonts ++ common) {
serif = ["Noto Serif"];
sansSerif = ["Lexend"];
emoji = ["Noto Color Emoji"];
monospace = ["Iosevka Nerd Font"];
};
};
packages = with pkgs; [
material-icons
material-design-icons material-design-icons
papirus-icon-theme papirus-icon-theme
(nerdfonts.override {fonts = ["ComicShannsMono"];}) # ComicShanns my beloved (nerdfonts.override {fonts = ["Iosevka" "JetBrainsMono" "ComicShannsMono" "NerdFontsSymbolsOnly"];})
lexend
noto-fonts noto-fonts
noto-fonts-cjk-sans noto-fonts-cjk-sans
noto-fonts-cjk-serif noto-fonts-cjk-serif
noto-fonts-color-emoji noto-fonts-color-emoji
corefonts corefonts
] ];
++ extraFonts; fontDir = {
# Whether to create a directory with links to all fonts in
# /run/current-system/sw/share/X11/fonts
enable = true;
# Whether to decompress fonts in
# /run/current-system/sw/share/X11/fonts
decompressFonts = true;
};
};
# this fixes emoji stuff # this fixes emoji stuff
home-manager.users.${username} = { home-manager.users.${username} = {
fonts.fontconfig = { fonts.fontconfig = {
@ -27,7 +66,6 @@ in {
monospace = ["ComicShannsMono Nerd Font" "Noto Color Emoji"]; monospace = ["ComicShannsMono Nerd Font" "Noto Color Emoji"];
sansSerif = ["ComicShannsMono Nerd Font" "Noto Color Emoji"]; sansSerif = ["ComicShannsMono Nerd Font" "Noto Color Emoji"];
serif = ["ComicShannsMono Nerd Font" "Noto Color Emoji"]; serif = ["ComicShannsMono Nerd Font" "Noto Color Emoji"];
emoji = ["Noto Color Emoji"];
}; };
}; };
}; };