1
1
Fork 1
mirror of https://github.com/oddlama/nix-config.git synced 2025-10-11 07:10:39 +02:00

feat: add stylix and switch font to (very similar) JetBrainsMono for italic support

This commit is contained in:
oddlama 2023-09-21 17:08:44 +02:00
parent e65dac849a
commit 75e943cd1e
No known key found for this signature in database
GPG key ID: 14EFE510775FE39A
8 changed files with 229 additions and 61 deletions

View file

@ -1,52 +1,62 @@
{
lib,
pkgs,
...
}: {
{pkgs, ...}: {
fonts = {
fontconfig = {
# Always prefer emojis even if the original font would provide a glyph
localConf = ''
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias binding="weak">
<family>monospace</family>
<prefer>
<family>emoji</family>
</prefer>
</alias>
<alias binding="weak">
<family>sans-serif</family>
<prefer>
<family>emoji</family>
</prefer>
</alias>
<alias binding="weak">
<family>serif</family>
<prefer>
<family>emoji</family>
</prefer>
</alias>
</fontconfig>
'';
defaultFonts = {
emoji = ["Segoe UI Emoji" "Noto Fonts Emoji"];
monospace = ["FiraCode Nerd Font"];
sansSerif = lib.mkBefore ["Segoe UI"];
serif = ["Source Serif Pro"];
};
};
# Always prefer emojis even if the original font would provide a glyph
fontconfig.localConf = ''
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias binding="weak">
<family>monospace</family>
<prefer>
<family>emoji</family>
</prefer>
</alias>
<alias binding="weak">
<family>sans-serif</family>
<prefer>
<family>emoji</family>
</prefer>
</alias>
<alias binding="weak">
<family>serif</family>
<prefer>
<family>emoji</family>
</prefer>
</alias>
</fontconfig>
'';
packages = with pkgs; [
(nerdfonts.override {fonts = ["FiraCode" "FiraMono" "SourceCodePro" "JetBrainsMono"];})
dejavu_fonts
(pkgs.nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];})
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-emoji
noto-fonts-extra
segoe-ui-ttf
];
};
stylix.fonts = {
serif = {
package = pkgs.dejavu_fonts;
name = "IBM Plex Serif";
};
sansSerif = {
package = pkgs.segoe-ui-ttf;
name = "Segoe UI";
};
monospace = {
# No need for patched nerd fonts, kitty can pick up on them automatically,
# and ideally every program should do that: https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font
package = pkgs.jetbrains-mono;
name = "JetBrains Mono";
};
emoji = {
package = pkgs.segoe-ui-ttf;
name = "Segoe UI Emoji";
};
};
}