fontconfig service: drop dpi option

Recommend to use services.xserver.dpi option instead. Mention in the
documentation that it's a sledgehammer approach and monitor settings should be
used instead.

Also don't set DPI in fontconfig settings; fontconfig should use Xft settings
by default so let's not override one value in multiple places. For example,
user now can set DPI via ~/.Xresources properly.
launchpad/nixpkgs/master
Nikolay Amiantov 7 years ago committed by John Ericson
parent 7ab1f26bd4
commit bd18e491a9
  1. 10
      nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
  2. 4
      nixos/doc/manual/release-notes/rl-2111.section.md
  3. 18
      nixos/modules/config/fonts/fontconfig.nix
  4. 1
      nixos/modules/services/x11/display-managers/default.nix
  5. 6
      nixos/modules/services/x11/xserver.nix

@ -779,6 +779,16 @@ Superuser created successfully.
group.
</para>
</listitem>
<listitem>
<para>
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
<literal>services.xserver.dpi</literal>.
</para>
</listitem>
<listitem>
<para>
The <literal>yambar</literal> package has been split into

@ -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

@ -78,14 +78,6 @@ let
</edit>
</match>
${optionalString (cfg.dpi != 0) ''
<match target="pattern">
<edit name="dpi" mode="assign">
<double>${toString cfg.dpi}</double>
</edit>
</match>
''}
</fontconfig>
'';
@ -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 <literal>0</literal> disables DPI
forcing; the DPI detected for the display will be used.
'';
};
localConf = mkOption {
type = types.lines;
default = "";

@ -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}

@ -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
<literal>Monitor</literal> section in configuration file instead.
'';
};
updateDbusEnvironment = mkOption {

Loading…
Cancel
Save