diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 86031791b1a4..37dfc3987341 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -779,6 +779,16 @@ Superuser created successfully.
group.
+
+
+ The fontconfig service’s dpi option has been removed.
+ Fontconfig should use Xft settings by default so there’s no
+ need to override one value in multiple places. The user can
+ set DPI via ~/.Xresources properly, or at the system level per
+ monitor, or as a last resort at the system level with
+ services.xserver.dpi.
+
+
The yambar package has been split into
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 231fc05f88b4..2c1886a4deb2 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -223,6 +223,10 @@ subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable
- The `openrazer` and `openrazer-daemon` packages as well as the `hardware.openrazer` module now require users to be members of the `openrazer` group instead of `plugdev`. With this change, users no longer need be granted the entire set of `plugdev` group permissions, which can include permissions other than those required by `openrazer`. This is desirable from a security point of view. The setting [`harware.openrazer.users`](options.html#opt-services.hardware.openrazer.users) can be used to add users to the `openrazer` group.
+- The fontconfig service's dpi option has been removed.
+ Fontconfig should use Xft settings by default so there's no need to override one value in multiple places.
+ The user can set DPI via ~/.Xresources properly, or at the system level per monitor, or as a last resort at the system level with `services.xserver.dpi`.
+
- The `yambar` package has been split into `yambar` and `yambar-wayland`, corresponding to the xorg and wayland backend respectively. Please switch to `yambar-wayland` if you are on wayland.
- The `services.minio` module gained an additional option `consoleAddress`, that
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index 72827c5abaae..1e68fef7ce74 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -78,14 +78,6 @@ let
- ${optionalString (cfg.dpi != 0) ''
-
-
- ${toString cfg.dpi}
-
-
- ''}
-
'';
@@ -237,6 +229,7 @@ in
(mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
+ (mkRemovedOptionModule [ "fonts" "fontconfig" "dpi" ] "Use display server-specific options")
] ++ lib.forEach [ "enable" "substitutions" "preset" ]
(opt: lib.mkRemovedOptionModule [ "fonts" "fontconfig" "ultimate" "${opt}" ] ''
The fonts.fontconfig.ultimate module and configuration is obsolete.
@@ -282,15 +275,6 @@ in
'';
};
- dpi = mkOption {
- type = types.int;
- default = 0;
- description = ''
- Force DPI setting. Setting to 0 disables DPI
- forcing; the DPI detected for the display will be used.
- '';
- };
-
localConf = mkOption {
type = types.lines;
default = "";
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index e04fcdaf4145..584dfb63c4dc 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -18,7 +18,6 @@ let
fontconfig = config.fonts.fontconfig;
xresourcesXft = pkgs.writeText "Xresources-Xft" ''
- ${optionalString (fontconfig.dpi != 0) ''Xft.dpi: ${toString fontconfig.dpi}''}
Xft.antialias: ${if fontconfig.antialias then "1" else "0"}
Xft.rgba: ${fontconfig.subpixel.rgba}
Xft.lcdfilter: lcd${fontconfig.subpixel.lcdfilter}
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 7316f6fcfe57..ad9bd88f98aa 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -297,7 +297,11 @@ in
dpi = mkOption {
type = types.nullOr types.int;
default = null;
- description = "DPI resolution to use for X server.";
+ description = ''
+ Force global DPI resolution to use for X server. It's recommended to
+ use this only when DPI is detected incorrectly; also consider using
+ Monitor section in configuration file instead.
+ '';
};
updateDbusEnvironment = mkOption {