From da1623cab0eae5d90b676daf9b190c3a0e83efd9 Mon Sep 17 00:00:00 2001 From: "Shahar \"Dawn\" Or" Date: Wed, 4 Jun 2025 16:30:47 +0700 Subject: [PATCH 1/2] font-packages: init --- modules/font-packages/darwin.nix | 13 +++++++++++++ modules/font-packages/hm.nix | 13 +++++++++++++ modules/font-packages/meta.nix | 9 +++++++++ modules/font-packages/nixos.nix | 13 +++++++++++++ stylix/darwin/default.nix | 1 - stylix/darwin/fonts.nix | 7 ------- stylix/hm/fonts.nix | 5 ----- stylix/nixos/fonts.nix | 2 -- 8 files changed, 48 insertions(+), 15 deletions(-) create mode 100644 modules/font-packages/darwin.nix create mode 100644 modules/font-packages/hm.nix create mode 100644 modules/font-packages/meta.nix create mode 100644 modules/font-packages/nixos.nix delete mode 100644 stylix/darwin/fonts.nix diff --git a/modules/font-packages/darwin.nix b/modules/font-packages/darwin.nix new file mode 100644 index 00000000..0a73d502 --- /dev/null +++ b/modules/font-packages/darwin.nix @@ -0,0 +1,13 @@ +{ mkTarget, ... }: +mkTarget { + name = "font-packages"; + humanName = "Font packages"; + + configElements = + { fonts }: + { + fonts = { + inherit (fonts) packages; + }; + }; +} diff --git a/modules/font-packages/hm.nix b/modules/font-packages/hm.nix new file mode 100644 index 00000000..81a37dff --- /dev/null +++ b/modules/font-packages/hm.nix @@ -0,0 +1,13 @@ +{ mkTarget, ... }: +mkTarget { + name = "font-packages"; + humanName = "Font packages"; + + configElements = + { fonts }: + { + home = { + inherit (fonts) packages; + }; + }; +} diff --git a/modules/font-packages/meta.nix b/modules/font-packages/meta.nix new file mode 100644 index 00000000..4660f513 --- /dev/null +++ b/modules/font-packages/meta.nix @@ -0,0 +1,9 @@ +{ lib, ... }: +{ + name = "Font packages"; + maintainers = [ lib.maintainers.mightyiam ]; + description = '' + This module makes the Stylix fonts available in the environment of each of + the platforms that this module supports. + ''; +} diff --git a/modules/font-packages/nixos.nix b/modules/font-packages/nixos.nix new file mode 100644 index 00000000..0a73d502 --- /dev/null +++ b/modules/font-packages/nixos.nix @@ -0,0 +1,13 @@ +{ mkTarget, ... }: +mkTarget { + name = "font-packages"; + humanName = "Font packages"; + + configElements = + { fonts }: + { + fonts = { + inherit (fonts) packages; + }; + }; +} diff --git a/stylix/darwin/default.nix b/stylix/darwin/default.nix index 499ff7bf..c0d90834 100644 --- a/stylix/darwin/default.nix +++ b/stylix/darwin/default.nix @@ -9,7 +9,6 @@ let in { imports = [ - ./fonts.nix ./palette.nix ../fonts.nix ../home-manager-integration.nix diff --git a/stylix/darwin/fonts.nix b/stylix/darwin/fonts.nix deleted file mode 100644 index b46aa5d8..00000000 --- a/stylix/darwin/fonts.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, lib, ... }: - -{ - config.fonts = lib.mkIf config.stylix.enable { - inherit (config.stylix.fonts) packages; - }; -} diff --git a/stylix/hm/fonts.nix b/stylix/hm/fonts.nix index 5bbd9997..8f981fdc 100644 --- a/stylix/hm/fonts.nix +++ b/stylix/hm/fonts.nix @@ -1,11 +1,6 @@ { config, lib, ... }: - -let - cfg = config.stylix.fonts; -in { config = lib.mkIf config.stylix.enable { fonts.fontconfig.enable = true; - home.packages = cfg.packages; }; } diff --git a/stylix/nixos/fonts.nix b/stylix/nixos/fonts.nix index cd9c8c12..12acca46 100644 --- a/stylix/nixos/fonts.nix +++ b/stylix/nixos/fonts.nix @@ -5,8 +5,6 @@ let in { config.fonts = lib.mkIf config.stylix.enable { - inherit (cfg) packages; - fontconfig.defaultFonts = { monospace = [ cfg.monospace.name ]; serif = [ cfg.serif.name ]; From d0a956c2c1b3a6a0f666ca689ba6528a665f50f1 Mon Sep 17 00:00:00 2001 From: "Shahar \"Dawn\" Or" Date: Wed, 4 Jun 2025 16:33:12 +0700 Subject: [PATCH 2/2] fontconfig: init --- modules/font-packages/meta.nix | 6 ++++++ modules/fontconfig/hm.nix | 9 +++++++++ modules/fontconfig/meta.nix | 17 +++++++++++++++++ modules/fontconfig/nixos.nix | 16 ++++++++++++++++ stylix/hm/default.nix | 1 - stylix/hm/fonts.nix | 6 ------ stylix/nixos/default.nix | 1 - stylix/nixos/fonts.nix | 15 --------------- 8 files changed, 48 insertions(+), 23 deletions(-) create mode 100644 modules/fontconfig/hm.nix create mode 100644 modules/fontconfig/meta.nix create mode 100644 modules/fontconfig/nixos.nix delete mode 100644 stylix/hm/fonts.nix delete mode 100644 stylix/nixos/fonts.nix diff --git a/modules/font-packages/meta.nix b/modules/font-packages/meta.nix index 4660f513..ee8abe65 100644 --- a/modules/font-packages/meta.nix +++ b/modules/font-packages/meta.nix @@ -5,5 +5,11 @@ description = '' This module makes the Stylix fonts available in the environment of each of the platforms that this module supports. + + ### Related modules + + + + - [Fontconfig](fontconfig.md) ''; } diff --git a/modules/fontconfig/hm.nix b/modules/fontconfig/hm.nix new file mode 100644 index 00000000..8a1df997 --- /dev/null +++ b/modules/fontconfig/hm.nix @@ -0,0 +1,9 @@ +{ mkTarget, ... }: +mkTarget { + name = "fontconfig"; + humanName = "Fontconfig"; + + configElements = { + fonts.fontconfig.enable = true; + }; +} diff --git a/modules/fontconfig/meta.nix b/modules/fontconfig/meta.nix new file mode 100644 index 00000000..27d6f7e3 --- /dev/null +++ b/modules/fontconfig/meta.nix @@ -0,0 +1,17 @@ +{ lib, ... }: +{ + name = "Fontconfig"; + homepage = "https://fontconfig.org"; + maintainers = [ lib.maintainers.mightyiam ]; + description = '' + On NixOS, `fonts.fontconfig.defaultFonts` options are declared without + enabling `fonts.fontconfig.enable`. On Home Manager, only the + `fonts.fontconfig.enable` option is declared and enabled. + + ### Related modules + + + + - [Font packages](font-packages.md) + ''; +} diff --git a/modules/fontconfig/nixos.nix b/modules/fontconfig/nixos.nix new file mode 100644 index 00000000..2877f7ae --- /dev/null +++ b/modules/fontconfig/nixos.nix @@ -0,0 +1,16 @@ +{ mkTarget, ... }: +mkTarget { + name = "fontconfig"; + humanName = "Fontconfig"; + + configElements = + { fonts }: + { + fonts.fontconfig.defaultFonts = { + monospace = [ fonts.monospace.name ]; + serif = [ fonts.serif.name ]; + sansSerif = [ fonts.sansSerif.name ]; + emoji = [ fonts.emoji.name ]; + }; + }; +} diff --git a/stylix/hm/default.nix b/stylix/hm/default.nix index 773881ce..7d6c77a9 100644 --- a/stylix/hm/default.nix +++ b/stylix/hm/default.nix @@ -10,7 +10,6 @@ in { imports = [ ./cursor.nix - ./fonts.nix ./icon.nix ./palette.nix ../cursor.nix diff --git a/stylix/hm/fonts.nix b/stylix/hm/fonts.nix deleted file mode 100644 index 8f981fdc..00000000 --- a/stylix/hm/fonts.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ config, lib, ... }: -{ - config = lib.mkIf config.stylix.enable { - fonts.fontconfig.enable = true; - }; -} diff --git a/stylix/nixos/default.nix b/stylix/nixos/default.nix index d5988bce..11cdd92a 100644 --- a/stylix/nixos/default.nix +++ b/stylix/nixos/default.nix @@ -10,7 +10,6 @@ in { imports = [ ./cursor.nix - ./fonts.nix ./palette.nix ../cursor.nix ../fonts.nix diff --git a/stylix/nixos/fonts.nix b/stylix/nixos/fonts.nix deleted file mode 100644 index 12acca46..00000000 --- a/stylix/nixos/fonts.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.stylix.fonts; -in -{ - config.fonts = lib.mkIf config.stylix.enable { - fontconfig.defaultFonts = { - monospace = [ cfg.monospace.name ]; - serif = [ cfg.serif.name ]; - sansSerif = [ cfg.sansSerif.name ]; - emoji = [ cfg.emoji.name ]; - }; - }; -}