nixdots/system/roles/workstation/fonts.nix

110 lines
2 KiB
Nix
Raw Normal View History

{pkgs, ...}: {
fonts = {
enableDefaultPackages = false;
2024-04-13 18:10:01 +00:00
fontconfig = {
defaultFonts = let
common = [
"Iosevka Nerd Font"
"Symbols Nerd Font"
"Noto Color Emoji"
];
in {
monospace =
[
"Monaspace Krypton"
"Source Code Pro Medium"
"Source Han Mono"
]
++ common;
2024-04-13 18:10:01 +00:00
sansSerif =
[
"Noto Sans"
"Jost"
"Lexend"
]
++ common;
2024-04-13 18:10:01 +00:00
serif =
[
"Noto Serif"
]
++ common;
2024-04-13 18:10:01 +00:00
emoji =
[
"Noto Color Emoji"
]
++ common;
2024-04-13 19:15:25 +00:00
};
};
2024-04-13 18:10:01 +00:00
fontDir = {
enable = true;
decompressFonts = true;
};
2024-04-13 18:10:01 +00:00
packages = with pkgs; [
# programming fonts
sarasa-gothic
source-code-pro
monaspace
2024-04-13 18:10:01 +00:00
# desktop fonts
corefonts # MS fonts
b612 # high legibility
material-icons
material-design-icons
roboto
work-sans
comic-neue
source-sans
inter
lato
lexend
jost
dejavu_fonts
noto-fonts
noto-fonts-cjk
2024-04-13 18:10:01 +00:00
# emojis
noto-fonts-color-emoji
twemoji-color-font
openmoji-color
openmoji-black
font-awesome
material-symbols
2024-04-13 18:10:01 +00:00
# defaults worth keeping
dejavu_fonts
freefont_ttf
gyre-fonts
liberation_ttf
unifont
2024-06-20 21:00:07 +00:00
# specific nerd fonts only
# (installing all nerd fonts is slow and takes gigabytes)
# see: <https://github.com/NixOS/nixpkgs/blob/master/pkgs/data/fonts/nerdfonts/shas.nix>
# for all available fonts
(nerdfonts.override {
fonts = [
"JetBrainsMono"
"Iosevka"
"NerdFontsSymbolsOnly"
"FiraCode"
"FiraMono"
"Hack"
"HeavyData"
"Gohu"
];
})
2024-06-20 21:00:07 +00:00
];
2024-04-13 18:10:01 +00:00
};
environment.systemPackages = with pkgs; [
# Tool for searching and previewing installed fonts
font-manager
];
2024-04-13 18:10:01 +00:00
}