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;
in {
options.modules.desktop.fonts = {
enable = mkEnableOption "Enable the font configuration module, containing system fonts";
baseFonts = mkEnableOption "Add an set of extra base fonts";
enable = mkEnableOption "Enable the font configuration module, configuring your chosen fonts";
baseFonts = mkEnableOption "Add an extra set of base fonts";
fonts = {
sansSerif = mkFontOption "sansSerif" {
@ -62,32 +62,50 @@ in {
};
};
config = mkIf cfg.enable {
fonts = {
fontDir.enable = true;
fontconfig.enable = true;
fontconfig.defaultFonts = {
sansSerif = [ cfg.fonts.sansSerif.family ];
serif = [ cfg.fonts.serif.family ];
monospace = [ cfg.fonts.monospace.family ];
emoji = [ cfg.fonts.emoji.family ];
config = mkIf cfg.enable (mkMerge [
{
fonts = {
fontDir.enable = true;
fontconfig.enable = true;
fontconfig.defaultFonts = {
sansSerif = [ cfg.fonts.sansSerif.family ];
serif = [ cfg.fonts.serif.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; [
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
];
} // (mkIf cfg.baseFonts {
enableDefaultPackages = true;
packages = with pkgs; [
hm.gtk.enable = true;
# not the best way of writing this (imagine if `name` was named `family`...)
hm.gtk.font = with cfg.fonts.sansSerif; {
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}";
};
}
(mkIf cfg.baseFonts {
fonts.enableDefaultPackages = true;
fonts.packages = with pkgs; [
fira-code
fira-code-symbols
mplus-outline-fonts.githubRelease
@ -100,20 +118,6 @@ in {
noto-fonts-monochrome-emoji
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;
in {
options.modules.desktop.hyprlock = {
enable = mkEnableOption "Enable hyprlock, a simple, fast, multithreaded screen lock for hyprland";
package = mkOption {
type = types.package;
default = inputs.hyprlock.packages.${system}.hyprlock;
example = "pkgs.hyprlock";
};
enable = mkEnableOption "Enable hyprlock, a simple, fast, multithreaded screen lock for hyprland";
package = mkOption {
type = types.package;
default = inputs.hyprlock.packages.${system}.hyprlock;
example = "pkgs.hyprlock";
};
};
config = mkIf cfg.enable {
@ -22,50 +22,50 @@ in {
enable = true;
package = cfg.package;
general = {
hide_cursor = false;
no_fade_in = true;
no_fade_out = true;
hide_cursor = false;
no_fade_in = true;
no_fade_out = true;
};
backgrounds = [
{
path = toString ../../assets/lockscreen.png;
blur_passes = 3;
blur_size = 6;
}
{
path = toString ../../assets/lockscreen.png;
blur_passes = 3;
blur_size = 6;
}
];
labels = [
{
text = "cmd[update:1000] echo \"$(date +'%H:%M')\"";
font_size = 58;
color = "rgb(${base05})";
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
position = { x = 0; y = 30; };
}
{
text = "cmd[update:1000] echo \"$(date + '%A %B %e')\"";
font_size = 14;
color = "rgb(${base05})";
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
position = { x = 0; y = 10; };
}
{
text = "cmd[update:1000] echo \"$(date +'%H:%M')\"";
font_size = 58;
color = "rgb(${base05})";
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
position = { x = 0; y = 30; };
}
{
text = "cmd[update:1000] echo \"$(date + '%A %B %e')\"";
font_size = 14;
color = "rgb(${base05})";
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
position = { x = 0; y = 10; };
}
];
input-fields = [
{
size = { width = 300; height = 28; };
outline_thickness = 2;
dots_size = 0.2;
fade_on_empty = false;
placeholder_text = "";
{
size = { width = 300; height = 28; };
outline_thickness = 2;
dots_size = 0.2;
fade_on_empty = false;
placeholder_text = "";
outer_color = "rgb(${base0E})";
inner_color = "rgb(${base00})";
font_color = "rgb(${base05})";
check_color = "rgb(${base02})";
fail_color = "rgb(${base08})";
capslock_color = "rgb(${base09})";
outer_color = "rgb(${base0E})";
inner_color = "rgb(${base00})";
font_color = "rgb(${base05})";
check_color = "rgb(${base02})";
fail_color = "rgb(${base08})";
capslock_color = "rgb(${base09})";
position = { x = 0; y = -30; };
}
position = { x = 0; y = -30; };
}
];
};
};