From 6de9934ffeba32d78d9b063fca912a1674841937 Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Fri, 16 Aug 2024 10:10:25 +0200 Subject: [PATCH] fonts.nix: remove fonts from options --- modules/options/style/fonts.nix | 15 +++++++++++++++ modules/options/style/gtk.nix | 3 +-- modules/style/default.nix | 1 + modules/style/fonts.nix | 23 +++++++++++++++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 modules/options/style/fonts.nix create mode 100644 modules/style/fonts.nix diff --git a/modules/options/style/fonts.nix b/modules/options/style/fonts.nix new file mode 100644 index 0000000..9f46ab5 --- /dev/null +++ b/modules/options/style/fonts.nix @@ -0,0 +1,15 @@ +{ + config, + lib, + ... +}: let + inherit (lib) mkOption; + inherit (lib.types) nullOr package listOf; +in { + options.modules.system.fonts = { + # This defines extra fonts to be installed on the system. + extraFonts = mkOption { + type = nullOr (listOf package); + }; + }; +} diff --git a/modules/options/style/gtk.nix b/modules/options/style/gtk.nix index b532eb8..4a61f65 100644 --- a/modules/options/style/gtk.nix +++ b/modules/options/style/gtk.nix @@ -1,11 +1,10 @@ { lib, pkgs, - config, ... }: let inherit (lib) mkOption mkEnableOption; - inherit (lib.types) str package submodule; + inherit (lib.types) str package; in { options.modules.usrEnv.style.gtk = { enable = mkEnableOption "Wether to enable GTK theming"; diff --git a/modules/style/default.nix b/modules/style/default.nix index b32ed62..6ed1a4f 100644 --- a/modules/style/default.nix +++ b/modules/style/default.nix @@ -5,5 +5,6 @@ _: { ./qt.nix ./gtk.nix ./module.nix + ./fonts.nix ]; } diff --git a/modules/style/fonts.nix b/modules/style/fonts.nix new file mode 100644 index 0000000..8d1421b --- /dev/null +++ b/modules/style/fonts.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + pkgs, + ... +}: let + inherit (lib.types) optional; + inherit (config.modules.system.fonts) extraFonts; +in { + # A (somewhat) sane list of default fonts to be installed. + fonts.packages = with pkgs; + [ + material-design-icons + papirus-icon-theme + (nerdfonts.override {fonts = ["ComicShannsMono"];}) # ComicShanns my beloved + noto-fonts + noto-fonts-cjk-sans + noto-fonts-cjk-serif + noto-fonts-color-emoji + corefonts + ] + ++ optional (extraFonts != null) extraFonts; +}