From 450e497cb4d5c490ad9502c8c6dab086d9371230 Mon Sep 17 00:00:00 2001 From: Infinidoge Date: Fri, 3 Dec 2021 22:51:40 -0500 Subject: [PATCH] modules/locale: add fontconfig, fix types --- modules/modules/locale.nix | 22 ++++++++++++++++++---- users/infinidoge/default.nix | 17 +++++++---------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/modules/modules/locale.nix b/modules/modules/locale.nix index d0da985..e0d3cf4 100644 --- a/modules/modules/locale.nix +++ b/modules/modules/locale.nix @@ -5,10 +5,20 @@ let cfg = config.modules.locale; in { - options.modules.locale = { - keymap = mkOpt "us"; - locale = mkOpt "en_us.UTF-8"; - timezone = mkOpt "America/New_York"; + options.modules.locale = with types; { + keymap = mkOpt str "us"; + locale = mkOpt str "en_us.UTF-8"; + timezone = mkOpt str "America/New_York"; + + fonts = { + fonts = mkOpt (listOf package) [ ]; + defaults = { + serif = mkOpt (listOf str) "DejaVu Serif"; + emoji = mkOpt (listOf str) "Noto Color Emoji"; + monospace = mkOpt (listOf str) "DejaVu Sans Mono"; + sansSerif = mkOpt (listOf str) "DejaVu Sans"; + }; + }; }; config = { @@ -18,5 +28,9 @@ in i18n.defaultLocale = cfg.locale; time.timeZone = cfg.timezone; + + fonts.fontconfig.defaultFonts = mkAliasDefinitions options.defaults; + + console.packages = cfg.fonts.fonts; }; } diff --git a/users/infinidoge/default.nix b/users/infinidoge/default.nix index cb6376d..511c5cb 100644 --- a/users/infinidoge/default.nix +++ b/users/infinidoge/default.nix @@ -87,18 +87,15 @@ in steam.enable = true; }; - fonts = { - fonts = with pkgs; [ - dejavu_fonts - emacs-all-the-icons-fonts - (nerdfonts.override { fonts = [ "DejaVuSansMono" ]; }) - ]; + modules = { + locale.fonts = { + fonts = with pkgs; [ + (nerdfonts.override { fonts = modules.locale.fonts.defaults.monospace; }) + dejavu_fonts + ]; - fontconfig = { - enable = lib.mkDefault true; - defaultFonts = { + defaults = { monospace = [ "DejaVuSansMono" ]; - sansSerif = [ "DejaVu Sans" ]; }; }; };