Merge pull request #244332 from SuperSandro2000/fonts-fonts

nixos/fonts: rename fonts.fonts option to fonts.packages, other cleanups
This commit is contained in:
asymmetric 2023-07-25 09:49:25 +02:00 committed by GitHub
commit 46df012d2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 90 additions and 100 deletions

View File

@ -34,5 +34,7 @@ The `ibus-engines.typing-booster` package contains a program named `emoji-picker
On NixOS, it can be installed using the following expression:
```nix
{ pkgs, ... }: { fonts.fonts = with pkgs; [ noto-fonts-emoji ]; }
{ pkgs, ... }: {
fonts.packages = with pkgs; [ noto-fonts-emoji ];
}
```

View File

@ -123,6 +123,8 @@
- `buildGoModule` `go-modules` attrs have been renamed to `goModules`.
- The `fonts.fonts` and `fonts.enableDefaultFonts` options have been renamed to `fonts.packages` and `fonts.enableDefaultPackages` respectively.
- `services.fail2ban.jails` can now be configured with attribute sets defining settings and filters instead of lines. The stringed options `daemonConfig` and `extraSettings` have respectively been replaced by `daemonSettings` and `jails.DEFAULT.settings` which use attribute sets.
- The module [services.ankisyncd](#opt-services.ankisyncd.package) has been switched to [anki-sync-server-rs](https://github.com/ankicommunity/anki-sync-server-rs) from the old python version, which was difficult to update, had not been updated in a while, and did not support recent versions of anki.

View File

@ -42,7 +42,7 @@ let
# looking things up.
makeCacheConf = { }:
let
makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; };
makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.packages; };
cache = makeCache pkgs.fontconfig;
cache32 = makeCache pkgs.pkgsi686Linux.fontconfig;
in
@ -51,7 +51,7 @@ let
<!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
<fontconfig>
<!-- Font directories -->
${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)}
${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.packages)}
${optionalString (pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) ''
<!-- Pre-generated font caches -->
<cachedir>${cache}</cachedir>

View File

@ -9,7 +9,7 @@ let
x11Fonts = pkgs.runCommand "X11-fonts" { preferLocalBuild = true; } ''
mkdir -p "$out/share/X11/fonts"
font_regexp='.*\.\(ttf\|ttc\|otb\|otf\|pcf\|pfa\|pfb\|bdf\)\(\.gz\)?'
find ${toString config.fonts.fonts} -regex "$font_regexp" \
find ${toString config.fonts.packages} -regex "$font_regexp" \
-exec ln -sf -t "$out/share/X11/fonts" '{}' \;
cd "$out/share/X11/fonts"
${optionalString cfg.decompressFonts ''

View File

@ -1,47 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.fonts;
defaultFonts =
[ pkgs.dejavu_fonts
pkgs.freefont_ttf
pkgs.gyre-fonts # TrueType substitutes for standard PostScript fonts
pkgs.liberation_ttf
pkgs.unifont
pkgs.noto-fonts-emoji
];
in
{
imports = [
(mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.fonts = [ pkgs.corefonts ]; instead.")
];
options = {
fonts = {
# TODO: find another name for it.
fonts = mkOption {
type = types.listOf types.path;
default = [];
example = literalExpression "[ pkgs.dejavu_fonts ]";
description = lib.mdDoc "List of primary font paths.";
};
enableDefaultFonts = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Enable a basic set of fonts providing several font styles
and families and reasonable coverage of Unicode.
'';
};
};
};
config = { fonts.fonts = mkIf cfg.enableDefaultFonts defaultFonts; };
}

View File

@ -3,12 +3,8 @@
with lib;
{
options = {
fonts = {
enableGhostscriptFonts = mkOption {
fonts.enableGhostscriptFonts = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
@ -21,13 +17,7 @@ with lib;
};
};
config = mkIf config.fonts.enableGhostscriptFonts {
fonts.fonts = [ "${pkgs.ghostscript}/share/ghostscript/fonts" ];
fonts.packages = [ "${pkgs.ghostscript}/share/ghostscript/fonts" ];
};
}

View File

@ -0,0 +1,43 @@
{ config, lib, pkgs, ... }:
let
cfg = config.fonts;
in
{
imports = [
(lib.mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.packages = [ pkgs.corefonts ]; instead.")
(lib.mkRenamedOptionModule [ "fonts" "enableDefaultFonts " ] [ "fonts" "enableDefaultPackages" ])
(lib.mkRenamedOptionModule [ "fonts" "fonts" ] [ "fonts" "packages" ])
];
options = {
fonts = {
packages = lib.mkOption {
type = with lib.types; listOf path;
default = [];
example = lib.literalExpression "[ pkgs.dejavu_fonts ]";
description = lib.mdDoc "List of primary font packages.";
};
enableDefaultPackages = lib.mkOption {
type = lib.types.bool;
default = false;
description = lib.mdDoc ''
Enable a basic set of fonts providing several styles
and families and reasonable coverage of Unicode.
'';
};
};
};
config = {
fonts.packages = lib.mkIf cfg.enableDefaultPackages (with pkgs; [
dejavu_fonts
freefont_ttf
gyre-fonts # TrueType substitutes for standard PostScript fonts
liberation_ttf
unifont
noto-fonts-emoji
]);
};
}

View File

@ -4,8 +4,8 @@
./config/debug-info.nix
./config/fonts/fontconfig.nix
./config/fonts/fontdir.nix
./config/fonts/fonts.nix
./config/fonts/ghostscript.nix
./config/fonts/packages.nix
./config/gnu.nix
./config/gtk/gtk-icon-cache.nix
./config/i18n.nix

View File

@ -60,7 +60,7 @@ in
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.finalPackage ];
fonts.enableDefaultFonts = mkDefault true;
fonts.enableDefaultPackages = mkDefault true;
hardware.opengl.enable = mkDefault true;
programs = {

View File

@ -66,7 +66,7 @@ in {
};
hardware.opengl.enable = lib.mkDefault true;
fonts.enableDefaultFonts = lib.mkDefault true;
fonts.enableDefaultPackages = lib.mkDefault true;
programs.dconf.enable = lib.mkDefault true;
programs.xwayland.enable = lib.mkDefault true;

View File

@ -5,7 +5,7 @@
};
hardware.opengl.enable = mkDefault true;
fonts.enableDefaultFonts = mkDefault true;
fonts.enableDefaultPackages = mkDefault true;
programs = {
dconf.enable = mkDefault true;

View File

@ -375,7 +375,7 @@ in
# Munin is hardcoded to use DejaVu Mono and the graphs come out wrong if
# it's not available.
fonts.fonts = [ pkgs.dejavu_fonts ];
fonts.packages = [ pkgs.dejavu_fonts ];
systemd.timers.munin-cron = {
description = "batch Munin master programs";

View File

@ -121,7 +121,7 @@ in
icons.enable = true;
};
fonts.enableDefaultFonts = mkDefault true;
fonts.enableDefaultPackages = mkDefault true;
systemd = {
services.xrdp = {

View File

@ -111,7 +111,7 @@ in {
fonts = mkIf (cfg.fonts != null) {
fontconfig.enable = true;
fonts = map (f: f.package) cfg.fonts;
packages = map (f: f.package) cfg.fonts;
};
};
}

View File

@ -156,7 +156,7 @@ in {
++ cfg.sessionPath;
# Fonts.
fonts.fonts = mkDefault [
fonts.packages = mkDefault [
pkgs.noto-fonts
pkgs.hack-font
];

View File

@ -218,7 +218,7 @@ in
qt.style = "adwaita";
# Default Fonts
fonts.fonts = with pkgs; [
fonts.packages = with pkgs; [
source-code-pro # Default monospace font in 3.32
ubuntu_font_family # required for default theme
];

View File

@ -67,7 +67,7 @@ in
networking.networkmanager.enable = mkDefault true;
programs.dconf.enable = mkDefault true;
fonts.fonts = with pkgs; [ noto-fonts ];
fonts.packages = with pkgs; [ noto-fonts ];
xdg.mime.enable = true;
xdg.menus.enable = true;
xdg.icons.enable = true;

View File

@ -92,7 +92,7 @@ in
environment.etc."X11/xkb".source = xcfg.xkbDir;
fonts.fonts = [ pkgs.dejavu_fonts pkgs.ubuntu_font_family ];
fonts.packages = [ pkgs.dejavu_fonts pkgs.ubuntu_font_family ];
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;

View File

@ -432,7 +432,7 @@ in
isSystem = true;
};
fonts.fonts = with pkgs; [
fonts.packages = with pkgs; [
cantarell-fonts
dejavu_fonts
source-code-pro # Default monospace font in 3.32

View File

@ -265,7 +265,7 @@ in
qt.style = "adwaita";
# Default Fonts
fonts.fonts = with pkgs; [
fonts.packages = with pkgs; [
inter
open-dyslexic
open-sans
@ -306,7 +306,7 @@ in
])) config.environment.pantheon.excludePackages;
# needed by screenshot
fonts.fonts = [
fonts.packages = [
pkgs.pantheon.elementary-redacted-script
];
})

View File

@ -332,7 +332,7 @@ in
# Enable GTK applications to load SVG icons
services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
fonts.fonts = with pkgs; [ cfg.notoPackage hack-font ];
fonts.packages = with pkgs; [ cfg.notoPackage hack-font ];
fonts.fontconfig.defaultFonts = {
monospace = [ "Hack" "Noto Sans Mono" ];
sansSerif = [ "Noto Sans" ];

View File

@ -142,7 +142,7 @@ in
theme
];
fonts.fonts = [ font ];
fonts.packages = [ font ];
environment.etc."lightdm/slick-greeter.conf".source = slickGreeterConf;
};

View File

@ -22,7 +22,7 @@ let
};
fontsForXServer =
config.fonts.fonts ++
config.fonts.packages ++
# We don't want these fonts in fonts.conf, because then modern,
# fontconfig-based applications will get horrible bitmapped
# Helvetica fonts. It's better to get a substitution (like Nimbus
@ -883,8 +883,8 @@ in
${cfg.extraConfig}
'';
fonts.enableDefaultFonts = mkDefault true;
fonts.fonts = [
fonts.enableDefaultPackages = mkDefault true;
fonts.packages = [
(if cfg.upscaleDefaultCursor then fontcursormisc_hidpi else pkgs.xorg.fontcursormisc)
pkgs.xorg.fontmiscmisc
];

View File

@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
{
imports = [ ./common/user-account.nix ];
fonts.fonts = with pkgs; [ dejavu_fonts ];
fonts.packages = with pkgs; [ dejavu_fonts ];
services.cage = {
enable = true;

View File

@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
nodes.machine = { pkgs, ... }: {
imports = [ ./common/user-account.nix ];
environment.systemPackages = [ pkgs.poppler_utils ];
fonts.fonts = [ pkgs.dejavu_fonts ]; # yields more OCR-able pdf
fonts.packages = [ pkgs.dejavu_fonts ]; # yields more OCR-able pdf
services.printing.cups-pdf.enable = true;
services.printing.cups-pdf.instances = {
opt = {};

View File

@ -7,8 +7,8 @@ import ./make-test-python.nix ({ lib, ... }:
];
nodes.machine = { config, pkgs, ... }: {
fonts.enableDefaultFonts = true; # Background fonts
fonts.fonts = with pkgs; [
fonts.enableDefaultPackages = true; # Background fonts
fonts.packages = with pkgs; [
noto-fonts-emoji
cantarell-fonts
twitter-color-emoji

View File

@ -83,7 +83,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
};
};
fonts.fonts = [ pkgs.inconsolata ];
fonts.packages = [ pkgs.inconsolata ];
};
enableOCR = true;

View File

@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
nodes.machine = {
imports = [ ./common/x11.nix ];
fonts = {
enableDefaultFonts = false;
enableDefaultPackages = false;
fonts = [ pkgs.noto-fonts-cjk-sans ];
};
};

View File

@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
imports = [ ./common/x11.nix ];
environment.systemPackages = [ pkgs.gedit ];
fonts = {
enableDefaultFonts = false;
enableDefaultPackages = false;
fonts = with pkgs;[
noto-fonts
noto-fonts-cjk-sans

View File

@ -51,7 +51,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
'';
};
fonts.fonts = [ pkgs.inconsolata ];
fonts.packages = [ pkgs.inconsolata ];
# Automatically configure and start Sway when logging in on tty1:
programs.bash.loginShellInit = ''

View File

@ -8,7 +8,7 @@ let
environment.variables.NIXOS_OZONE_WL = "1";
environment.variables.DISPLAY = "do not use";
fonts.fonts = with pkgs; [ dejavu_fonts ];
fonts.packages = with pkgs; [ dejavu_fonts ];
};
xorg = { pkgs, ... }: {
imports = [ ./common/user-account.nix ./common/x11.nix ];

View File

@ -103,7 +103,7 @@ in (buildEnv {
passthru = {
# This is set primarily to help find-tarballs.nix to do its job
packages = pkgList.all;
# useful for inclusion in the `fonts.fonts` nixos option or for use in devshells
# useful for inclusion in the `fonts.packages` nixos option or for use in devshells
fonts = "${texmfroot}/texmf-dist/fonts";
};