From 6bc50deb6aa0a0428773dff54b3baa0e709dbab2 Mon Sep 17 00:00:00 2001 From: imxyy_soope_ Date: Sun, 19 Oct 2025 16:21:25 +0800 Subject: [PATCH] refactor: font config --- config/hosts/imxyy-nix-server/home.nix | 1 + config/hosts/imxyy-nix-x16/nixos.nix | 34 ------------------- config/hosts/imxyy-nix/nixos.nix | 34 ------------------- modules/fonts.nix | 47 ++++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 68 deletions(-) create mode 100644 modules/fonts.nix diff --git a/config/hosts/imxyy-nix-server/home.nix b/config/hosts/imxyy-nix-server/home.nix index 91b0f9c..91f9ad9 100644 --- a/config/hosts/imxyy-nix-server/home.nix +++ b/config/hosts/imxyy-nix-server/home.nix @@ -7,6 +7,7 @@ coding.misc.enable = true; coding.langs.lua.enable = true; coding.langs.rust.enable = true; + fonts.enable = lib.mkForce false; persist = { enable = true; homeDirs = [ diff --git a/config/hosts/imxyy-nix-x16/nixos.nix b/config/hosts/imxyy-nix-x16/nixos.nix index d71544f..0bdb60f 100644 --- a/config/hosts/imxyy-nix-x16/nixos.nix +++ b/config/hosts/imxyy-nix-x16/nixos.nix @@ -35,40 +35,6 @@ }; environment.variables.NIX_REMOTE = "daemon"; - fonts = { - enableDefaultPackages = false; - fontDir.enable = true; - - packages = with pkgs; [ - noto-fonts - noto-fonts-cjk-sans - noto-fonts-emoji - - jetbrains-mono - - nerd-fonts.symbols-only - ]; - - fontconfig.defaultFonts = { - serif = [ - "Noto Serif CJK SC" - "Noto Serif" - "Symbols Nerd Font" - ]; - sansSerif = [ - "Noto Sans CJK SC" - "Noto Sans" - "Symbols Nerd Font" - ]; - monospace = [ - "JetBrains Mono" - "Noto Sans Mono CJK SC" - "Symbols Nerd Font Mono" - ]; - emoji = [ "Noto Color Emoji" ]; - }; - }; - services.printing.enable = true; services.upower.enable = true; diff --git a/config/hosts/imxyy-nix/nixos.nix b/config/hosts/imxyy-nix/nixos.nix index de3cbda..ef7f69d 100644 --- a/config/hosts/imxyy-nix/nixos.nix +++ b/config/hosts/imxyy-nix/nixos.nix @@ -73,40 +73,6 @@ in }; environment.variables.NIX_REMOTE = "daemon"; - fonts = { - enableDefaultPackages = false; - fontDir.enable = true; - - packages = with pkgs; [ - noto-fonts - noto-fonts-cjk-sans - noto-fonts-emoji - - jetbrains-mono - - nerd-fonts.symbols-only - ]; - - fontconfig.defaultFonts = { - serif = [ - "Noto Serif CJK SC" - "Noto Serif" - "Symbols Nerd Font" - ]; - sansSerif = [ - "Noto Sans CJK SC" - "Noto Sans" - "Symbols Nerd Font" - ]; - monospace = [ - "JetBrains Mono" - "Noto Sans Mono CJK SC" - "Symbols Nerd Font Mono" - ]; - emoji = [ "Noto Color Emoji" ]; - }; - }; - services.printing.enable = true; services.keyd = { diff --git a/modules/fonts.nix b/modules/fonts.nix new file mode 100644 index 0000000..227c889 --- /dev/null +++ b/modules/fonts.nix @@ -0,0 +1,47 @@ +{ + config, + pkgs, + lib, + ... +}: +lib.my.makeSwitch { + inherit config; + default = true; + optionName = "default font settings"; + optionPath = [ "fonts" ]; + config' = { + fonts = { + enableDefaultPackages = false; + fontDir.enable = true; + + packages = with pkgs; [ + noto-fonts + noto-fonts-cjk-sans + noto-fonts-emoji + + jetbrains-mono + + nerd-fonts.symbols-only + ]; + + fontconfig.defaultFonts = { + serif = [ + "Noto Serif CJK SC" + "Noto Serif" + "Symbols Nerd Font" + ]; + sansSerif = [ + "Noto Sans CJK SC" + "Noto Sans" + "Symbols Nerd Font" + ]; + monospace = [ + "JetBrains Mono" + "Noto Sans Mono CJK SC" + "Symbols Nerd Font Mono" + ]; + emoji = [ "Noto Color Emoji" ]; + }; + }; + }; +}