ACTUALLY fix fonts

This commit is contained in:
Reid 2024-04-02 20:52:55 -07:00
parent 4465048b41
commit 02116e64f5
2 changed files with 89 additions and 85 deletions

View file

@ -25,8 +25,8 @@ let
cfg = config.modules.desktop.fonts; cfg = config.modules.desktop.fonts;
in { in {
options.modules.desktop.fonts = { options.modules.desktop.fonts = {
enable = mkEnableOption "Enable the font configuration module, containing system fonts"; enable = mkEnableOption "Enable the font configuration module, configuring your chosen fonts";
baseFonts = mkEnableOption "Add an set of extra base fonts"; baseFonts = mkEnableOption "Add an extra set of base fonts";
fonts = { fonts = {
sansSerif = mkFontOption "sansSerif" { sansSerif = mkFontOption "sansSerif" {
@ -62,32 +62,50 @@ in {
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable (mkMerge [
fonts = { {
fontDir.enable = true; fonts = {
fontconfig.enable = true; fontDir.enable = true;
fontconfig.defaultFonts = { fontconfig.enable = true;
sansSerif = [ cfg.fonts.sansSerif.family ]; fontconfig.defaultFonts = {
serif = [ cfg.fonts.serif.family ]; sansSerif = [ cfg.fonts.sansSerif.family ];
monospace = [ cfg.fonts.monospace.family ]; serif = [ cfg.fonts.serif.family ];
emoji = [ cfg.fonts.emoji.family ]; monospace = [ cfg.fonts.monospace.family ];
emoji = [ cfg.fonts.emoji.family ];
};
enableGhostscriptFonts = true;
packages = with pkgs; [
corefonts
noto-fonts
noto-fonts-cjk-sans
liberation_ttf
] ++ [
cfg.fonts.sansSerif.package
cfg.fonts.serif.package
cfg.fonts.monospace.package
cfg.fonts.monospaceBitmap.package
cfg.fonts.emoji.package
];
}; };
enableGhostscriptFonts = true;
packages = with pkgs; [ hm.gtk.enable = true;
corefonts # not the best way of writing this (imagine if `name` was named `family`...)
noto-fonts hm.gtk.font = with cfg.fonts.sansSerif; {
noto-fonts-cjk-sans package = package;
liberation_ttf name = family;
] ++ [
cfg.fonts.sansSerif.package size = size;
cfg.fonts.serif.package };
cfg.fonts.monospace.package
cfg.fonts.monospaceBitmap.package hm.dconf.settings = {
cfg.fonts.emoji.package "org/gnome/desktop/interface".font-name = with cfg.fonts.sansSerif; "${family} ${toString size}";
]; "org/gnome/desktop/interface".document-font-name = with cfg.fonts.serif; "${family} ${toString size}";
} // (mkIf cfg.baseFonts { "org/gnome/desktop/interface".monospace-font-name = with cfg.fonts.monospace; "${family} ${toString size}";
enableDefaultPackages = true; };
packages = with pkgs; [ }
(mkIf cfg.baseFonts {
fonts.enableDefaultPackages = true;
fonts.packages = with pkgs; [
fira-code fira-code
fira-code-symbols fira-code-symbols
mplus-outline-fonts.githubRelease mplus-outline-fonts.githubRelease
@ -100,20 +118,6 @@ in {
noto-fonts-monochrome-emoji noto-fonts-monochrome-emoji
font-awesome font-awesome
]; ];
}); })
]);
hm.gtk.enable = true;
hm.gtk.font = with cfg.fonts.sansSerif; { # im great at writing nix, right?
package = package;
name = family;
size = size;
};
hm.dconf.settings = {
"org/gnome/desktop/interface".font-name = with cfg.fonts.sansSerif; "${family} ${toString size}";
"org/gnome/desktop/interface".document-font-name = with cfg.fonts.serif; "${family} ${toString size}";
"org/gnome/desktop/interface".monospace-font-name = with cfg.fonts.monospace; "${family} ${toString size}";
};
};
} }

View file

@ -5,12 +5,12 @@ let
cfg = config.modules.desktop.hyprlock; cfg = config.modules.desktop.hyprlock;
in { in {
options.modules.desktop.hyprlock = { options.modules.desktop.hyprlock = {
enable = mkEnableOption "Enable hyprlock, a simple, fast, multithreaded screen lock for hyprland"; enable = mkEnableOption "Enable hyprlock, a simple, fast, multithreaded screen lock for hyprland";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = inputs.hyprlock.packages.${system}.hyprlock; default = inputs.hyprlock.packages.${system}.hyprlock;
example = "pkgs.hyprlock"; example = "pkgs.hyprlock";
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@ -22,50 +22,50 @@ in {
enable = true; enable = true;
package = cfg.package; package = cfg.package;
general = { general = {
hide_cursor = false; hide_cursor = false;
no_fade_in = true; no_fade_in = true;
no_fade_out = true; no_fade_out = true;
}; };
backgrounds = [ backgrounds = [
{ {
path = toString ../../assets/lockscreen.png; path = toString ../../assets/lockscreen.png;
blur_passes = 3; blur_passes = 3;
blur_size = 6; blur_size = 6;
} }
]; ];
labels = [ labels = [
{ {
text = "cmd[update:1000] echo \"$(date +'%H:%M')\""; text = "cmd[update:1000] echo \"$(date +'%H:%M')\"";
font_size = 58; font_size = 58;
color = "rgb(${base05})"; color = "rgb(${base05})";
font_family = config.modules.desktop.fonts.fonts.sansSerif.family; font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
position = { x = 0; y = 30; }; position = { x = 0; y = 30; };
} }
{ {
text = "cmd[update:1000] echo \"$(date + '%A %B %e')\""; text = "cmd[update:1000] echo \"$(date + '%A %B %e')\"";
font_size = 14; font_size = 14;
color = "rgb(${base05})"; color = "rgb(${base05})";
font_family = config.modules.desktop.fonts.fonts.sansSerif.family; font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
position = { x = 0; y = 10; }; position = { x = 0; y = 10; };
} }
]; ];
input-fields = [ input-fields = [
{ {
size = { width = 300; height = 28; }; size = { width = 300; height = 28; };
outline_thickness = 2; outline_thickness = 2;
dots_size = 0.2; dots_size = 0.2;
fade_on_empty = false; fade_on_empty = false;
placeholder_text = ""; placeholder_text = "";
outer_color = "rgb(${base0E})"; outer_color = "rgb(${base0E})";
inner_color = "rgb(${base00})"; inner_color = "rgb(${base00})";
font_color = "rgb(${base05})"; font_color = "rgb(${base05})";
check_color = "rgb(${base02})"; check_color = "rgb(${base02})";
fail_color = "rgb(${base08})"; fail_color = "rgb(${base08})";
capslock_color = "rgb(${base09})"; capslock_color = "rgb(${base09})";
position = { x = 0; y = -30; }; position = { x = 0; y = -30; };
} }
]; ];
}; };
}; };