diff --git a/modules/home/programs/gui/foot/default.nix b/modules/home/programs/gui/foot/default.nix index ba7df0b3..27f704d5 100644 --- a/modules/home/programs/gui/foot/default.nix +++ b/modules/home/programs/gui/foot/default.nix @@ -6,7 +6,7 @@ settings = { main = { term = "xterm-256color"; - font = "${config.fonts.fontconfig.defaultFonts.monospace}:size=14.7"; + font = "${config.look.fonts.mono}:size=14.7"; }; colors = { alpha = "0.85"; diff --git a/modules/home/programs/gui/librewolf/default.nix b/modules/home/programs/gui/librewolf/default.nix index efd67215..8f5291be 100644 --- a/modules/home/programs/gui/librewolf/default.nix +++ b/modules/home/programs/gui/librewolf/default.nix @@ -7,8 +7,8 @@ profiles = let # FireFox css, based on https://github.com/Dook97/firefox-qutebrowser-userchrome themeFont = '' - --tab-font: '${config.fonts.fontconfig.defaultFonts.sansSerif}'; - --urlbar-font: '${config.fonts.fontconfig.defaultFonts.sansSerif}'; + --tab-font: '${config.look.fonts.main}'; + --urlbar-font: '${config.look.fonts.main}'; ''; themeMain = '' :root { @@ -121,9 +121,9 @@ "webgl.disabled" = false; # Fonts - "font.name.serif.x-western" = config.fonts.fontconfig.defaultFonts.sansSerif; - "font.name.sans-serif.x-western" = config.fonts.fontconfig.defaultFonts.sansSerif; - "font.name.monospace.x-western" = config.look.fonts.nerd; + "font.name.serif.x-western" = config.look.fonts.main; + "font.name.sans-serif.x-western" = config.look.fonts.main; + "font.name.monospace.x-western" = config.look.fonts.mono; # Theming and visibility "browser.aboutConfig.showWarning" = false; diff --git a/modules/home/settings/dconf/default.nix b/modules/home/settings/dconf/default.nix index 9e04e03f..38cda938 100644 --- a/modules/home/settings/dconf/default.nix +++ b/modules/home/settings/dconf/default.nix @@ -2,9 +2,7 @@ { config = lib.mkIf config.home.desktop.enable { dconf.settings = { - "org/gnome/desktop/interface/color-scheme" = { - color-scheme = "prefer-dark"; - }; + "org/gnome/desktop/interface/color-scheme".color-scheme = "prefer-dark"; "org/virt-manager/virt-manager/connections" = { autoconnect = [ "qemu:///system" ]; uris = [ "qemu:///system" ]; diff --git a/modules/home/settings/fonts/default.nix b/modules/home/settings/fonts/default.nix index e96d77e0..644410bf 100644 --- a/modules/home/settings/fonts/default.nix +++ b/modules/home/settings/fonts/default.nix @@ -1,20 +1,7 @@ -{ config, lib, pkgsStable, ... }: +{ ... }: { - home.packages = lib.mkIf config.home.desktop.enable (with pkgsStable; [ - liberation_ttf - twitter-color-emoji - noto-fonts - sarasa-gothic - ubuntu_font_family - (nerdfonts.override { fonts = [ "UbuntuMono" ]; }) - ]); - - fonts.fontconfig = { - enable = config.home.desktop.enable; - defaultFonts = { - sansSerif = [ "Ubuntu" ]; - monospace = [ "UbuntuMono Nerd Font Mono" ]; - emoji = [ "Twitter Color Emoji" ]; - }; - }; + imports = [ + ./fontconfig + ./packages + ]; } diff --git a/modules/home/settings/fonts/fontconfig/default.nix b/modules/home/settings/fonts/fontconfig/default.nix new file mode 100644 index 00000000..0ad9bae1 --- /dev/null +++ b/modules/home/settings/fonts/fontconfig/default.nix @@ -0,0 +1,11 @@ +{ config, ... }: +{ + fonts.fontconfig = { + enable = config.home.desktop.enable; + defaultFonts = { + sansSerif = [ config.look.fonts.main ]; + monospace = [ config.look.fonts.mono ]; + emoji = [ "Twitter Color Emoji" ]; + }; + }; +} diff --git a/modules/home/settings/fonts/packages/default.nix b/modules/home/settings/fonts/packages/default.nix new file mode 100644 index 00000000..d7cae882 --- /dev/null +++ b/modules/home/settings/fonts/packages/default.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgsStable, ... }: +{ + home.packages = lib.mkIf config.home.desktop.enable (with pkgsStable; [ + liberation_ttf + twitter-color-emoji + noto-fonts + sarasa-gothic + ubuntu_font_family + (nerdfonts.override { fonts = [ "UbuntuMono" ]; }) + ]); +} diff --git a/modules/home/settings/gtk/default.nix b/modules/home/settings/gtk/default.nix index 65c04c12..a31cec5c 100644 --- a/modules/home/settings/gtk/default.nix +++ b/modules/home/settings/gtk/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, ... }: { imports = [ ./bookmarks diff --git a/modules/home/settings/gtk/theme/default.nix b/modules/home/settings/gtk/theme/default.nix index f02b5b5a..34918d00 100644 --- a/modules/home/settings/gtk/theme/default.nix +++ b/modules/home/settings/gtk/theme/default.nix @@ -2,7 +2,7 @@ { gtk = with pkgs; { font = { - name = config.fonts.fontconfig.defaultFonts.sansSerif; + name = config.look.fonts.main; size = 11; }; theme = { diff --git a/modules/home/variables/look/default.nix b/modules/home/variables/look/default.nix index e507057e..a5930b9c 100644 --- a/modules/home/variables/look/default.nix +++ b/modules/home/variables/look/default.nix @@ -3,5 +3,6 @@ imports = [ ./border ./colors + ./fonts ]; } diff --git a/modules/home/variables/look/fonts/default.nix b/modules/home/variables/look/fonts/default.nix new file mode 100644 index 00000000..b8cc234c --- /dev/null +++ b/modules/home/variables/look/fonts/default.nix @@ -0,0 +1,11 @@ +{ config, lib, ... }: +{ + options.look.fonts = lib.mkOption { + type = lib.types.attrs; + }; + + config.look.fonts = { + main = "Ubuntu"; + mono = "UbuntuMono Nerd Font"; + }; +} diff --git a/modules/home/wms/programs/rofi/default.nix b/modules/home/wms/programs/rofi/default.nix index 029a4922..a32f7076 100644 --- a/modules/home/wms/programs/rofi/default.nix +++ b/modules/home/wms/programs/rofi/default.nix @@ -7,7 +7,7 @@ enable = true; package = pkgs.rofi-wayland; terminal = "foot"; - font = "${config.fonts.fontconfig.defaultFonts.sansSerif} 14"; + font = "${config.look.fonts.main} 14"; theme = let inherit (config.lib.formats.rasi) mkLiteral; in { diff --git a/modules/home/wms/programs/swaylock/default.nix b/modules/home/wms/programs/swaylock/default.nix index 367c4842..52c358c5 100644 --- a/modules/home/wms/programs/swaylock/default.nix +++ b/modules/home/wms/programs/swaylock/default.nix @@ -13,7 +13,7 @@ in { settings = { clock = true; image = "~/.assets/lockscreen/lock.png"; - font = config.fonts.fontconfig.defaultFonts.sansSerif; + font = config.look.fonts.main; font-size = 30; timestr = "%I:%M%p"; datestr = "%a %b %d %Y"; diff --git a/modules/home/wms/programs/waybar/default.nix b/modules/home/wms/programs/waybar/default.nix index 9d1b9e6f..ba2d3f12 100644 --- a/modules/home/wms/programs/waybar/default.nix +++ b/modules/home/wms/programs/waybar/default.nix @@ -300,7 +300,7 @@ border: 0; border-radius: 0; min-height: 0; - font-family: ${config.fonts.fontconfig.defaultFonts.sansSerif}, ${config.fonts.fontconfig.defaultFonts.monospace}; + font-family: ${config.look.fonts.main}, ${config.look.fonts.mono}; font-size: 15.5px; color: #${config.look.colors.text}; } diff --git a/modules/home/wms/sway/theme/default.nix b/modules/home/wms/sway/theme/default.nix index 7354a95a..d6184ecf 100644 --- a/modules/home/wms/sway/theme/default.nix +++ b/modules/home/wms/sway/theme/default.nix @@ -32,7 +32,7 @@ }; }; fonts = { - names = [ config.fonts.fontconfig.defaultFonts.sansSerif ]; + names = [ config.look.fonts.main ]; size = 10.5; }; window = {