diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index 1e68fef7ce74..a10a8c6428a1 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -65,7 +65,7 @@ let
${fcBool cfg.hinting.autohint}
- hintslight
+ ${cfg.hinting.style}
${fcBool cfg.antialias}
@@ -226,7 +226,6 @@ in
(mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "fonts" "fontconfig" "useEmbeddedBitmaps" ])
(mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "fonts" "fontconfig" "forceAutohint" ])
(mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
- (mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "dpi" ] "Use display server-specific options")
@@ -349,6 +348,20 @@ in
fonts, but better than unhinted fonts.
'';
};
+
+ style = mkOption {
+ type = types.enum [ "hintnone" "hintslight" "hintmedium" "hintfull" ];
+ default = "hintslight";
+ description = ''
+ Hintstyle is the amount of font reshaping done to line up
+ to the grid.
+
+ hintslight will make the font more fuzzy to line up to the grid
+ but will be better in retaining font shape, while hintfull will
+ be a crisp font that aligns well to the pixel grid but will lose
+ a greater amount of font shape.
+ '';
+ };
};
includeUserConf = mkOption {