diff options
author | Azat Bahawi <azat@bahawi.net> | 2023-07-30 20:06:40 +0300 |
---|---|---|
committer | Azat Bahawi <azat@bahawi.net> | 2023-07-30 20:06:40 +0300 |
commit | 031c27317d63a98bb9896a4baa9b19c155ac62a9 (patch) | |
tree | 3051b34857540420f4142e0b8360038cc609ea13 | |
parent | 2023-07-30 (diff) |
2023-07-30
-rw-r--r-- | modules/common/fonts.nix | 25 | ||||
-rw-r--r-- | modules/darwin/fonts.nix | 6 | ||||
-rw-r--r-- | modules/nixos/fonts.nix | 52 |
3 files changed, 45 insertions, 38 deletions
diff --git a/modules/common/fonts.nix b/modules/common/fonts.nix index f3a79c2..adf6a3f 100644 --- a/modules/common/fonts.nix +++ b/modules/common/fonts.nix @@ -1,12 +1,9 @@ { - config, lib, pkgs, ... }: -with lib; let - cfg = config.nixfiles.modules.fonts; -in { +with lib; { imports = [ (mkAliasOptionModule ["fontScheme"] [ "nixfiles" @@ -19,6 +16,17 @@ in { options.nixfiles.modules.fonts = { enable = mkEnableOption "fonts and their configurations"; + packages = mkOption { + description = "Font packages to install."; + type = with types; listOf package; + default = with pkgs; [ + (iosevka-bin.override {variant = "aile";}) + (iosevka-bin.override {variant = "etoile";}) + iosevka-bin + sarasa-gothic + ]; + }; + fontScheme = let mkFont = { family, @@ -79,13 +87,4 @@ in { }; }; }; - - config = mkIf cfg.enable { - fonts.packages = with pkgs; [ - (iosevka-bin.override {variant = "aile";}) - (iosevka-bin.override {variant = "etoile";}) - iosevka-bin - sarasa-gothic - ]; - }; } diff --git a/modules/darwin/fonts.nix b/modules/darwin/fonts.nix index 741fdc8..c52d73e 100644 --- a/modules/darwin/fonts.nix +++ b/modules/darwin/fonts.nix @@ -7,6 +7,10 @@ with lib; let cfg = config.nixfiles.modules.fonts; in { config = mkIf cfg.enable { - fonts.fontDir.enable = true; + fonts = { + fonts = cfg.packages; + + fontDir.enable = true; + }; }; } diff --git a/modules/nixos/fonts.nix b/modules/nixos/fonts.nix index d4a7330..f11a27d 100644 --- a/modules/nixos/fonts.nix +++ b/modules/nixos/fonts.nix @@ -9,31 +9,35 @@ in { config = mkMerge [ (mkIf cfg.enable { hm.fonts.fontconfig.enable = true; - fonts.fontconfig = { - enable = true; + fonts = { + inherit (cfg) packages; - defaultFonts = { - monospace = [ - "Iosevka" - "Sarasa Mono K" - "Sarasa Mono J" - "Sarasa Mono SC" - "Sarasa Mono CL" - ]; - sansSerif = [ - "Iosevka Aile" - "Sarasa Gothic K" - "Sarasa Gothic J" - "Sarasa Gothic SC" - "Sarasa Gothic CL" - ]; - serif = [ - "Iosevka Etoile" - "Sarasa Gothic K" - "Sarasa Gothic J" - "Sarasa Gothic SC" - "Sarasa Gothic CL" - ]; + fontconfig = { + enable = true; + + defaultFonts = { + monospace = [ + "Iosevka" + "Sarasa Mono K" + "Sarasa Mono J" + "Sarasa Mono SC" + "Sarasa Mono CL" + ]; + sansSerif = [ + "Iosevka Aile" + "Sarasa Gothic K" + "Sarasa Gothic J" + "Sarasa Gothic SC" + "Sarasa Gothic CL" + ]; + serif = [ + "Iosevka Etoile" + "Sarasa Gothic K" + "Sarasa Gothic J" + "Sarasa Gothic SC" + "Sarasa Gothic CL" + ]; + }; }; }; }) |