forked from mirrors_public/oddlama_nix-config
feat: add stylix and switch font to (very similar) JetBrainsMono for italic support
This commit is contained in:
parent
e65dac849a
commit
75e943cd1e
8 changed files with 229 additions and 61 deletions
|
@ -1,4 +1,9 @@
|
|||
{lib, ...}: let
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit
|
||||
(lib)
|
||||
mkOption
|
||||
|
@ -6,10 +11,12 @@
|
|||
;
|
||||
in {
|
||||
imports = [
|
||||
inputs.stylix.nixosModules.stylix
|
||||
|
||||
./fonts.nix
|
||||
./steam.nix
|
||||
./wayland.nix
|
||||
./xserver.nix
|
||||
./steam.nix
|
||||
];
|
||||
|
||||
options.graphical.gaming.enable = mkOption {
|
||||
|
@ -21,5 +28,29 @@ in {
|
|||
config = {
|
||||
# Needed for gtk
|
||||
programs.dconf.enable = true;
|
||||
stylix = {
|
||||
# I want to choose what to style myself.
|
||||
autoEnable = false;
|
||||
polarity = "dark";
|
||||
image = config.lib.stylix.pixel "base00";
|
||||
base16Scheme = {
|
||||
base00 = "282c34";
|
||||
base01 = "353b45";
|
||||
base02 = "3e4451";
|
||||
base03 = "545862";
|
||||
base04 = "565c64";
|
||||
base05 = "abb2bf";
|
||||
base06 = "b6bdca";
|
||||
base07 = "c8ccd4";
|
||||
base08 = "e06c75";
|
||||
base09 = "d19a66";
|
||||
base0A = "e5c07b";
|
||||
base0B = "98c379";
|
||||
base0C = "56b6c2";
|
||||
base0D = "61afef";
|
||||
base0E = "c678dd";
|
||||
base0F = "be5046";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue