Merge pull request #244332 from SuperSandro2000/fonts-fonts
nixos/fonts: rename fonts.fonts option to fonts.packages, other cleanups
This commit is contained in:
commit
46df012d2a
@ -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 ];
|
||||
}
|
||||
```
|
||||
|
@ -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.
|
||||
|
@ -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>
|
||||
|
@ -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 ''
|
||||
|
@ -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; };
|
||||
}
|
@ -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" ];
|
||||
};
|
||||
|
||||
}
|
||||
|
43
nixos/modules/config/fonts/packages.nix
Normal file
43
nixos/modules/config/fonts/packages.nix
Normal 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
|
||||
]);
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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 = {
|
||||
|
@ -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;
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
};
|
||||
|
||||
hardware.opengl.enable = mkDefault true;
|
||||
fonts.enableDefaultFonts = mkDefault true;
|
||||
fonts.enableDefaultPackages = mkDefault true;
|
||||
|
||||
programs = {
|
||||
dconf.enable = mkDefault true;
|
||||
|
@ -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";
|
||||
|
@ -121,7 +121,7 @@ in
|
||||
icons.enable = true;
|
||||
};
|
||||
|
||||
fonts.enableDefaultFonts = mkDefault true;
|
||||
fonts.enableDefaultPackages = mkDefault true;
|
||||
|
||||
systemd = {
|
||||
services.xrdp = {
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -156,7 +156,7 @@ in {
|
||||
++ cfg.sessionPath;
|
||||
|
||||
# Fonts.
|
||||
fonts.fonts = mkDefault [
|
||||
fonts.packages = mkDefault [
|
||||
pkgs.noto-fonts
|
||||
pkgs.hack-font
|
||||
];
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
];
|
||||
})
|
||||
|
@ -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" ];
|
||||
|
@ -142,7 +142,7 @@ in
|
||||
theme
|
||||
];
|
||||
|
||||
fonts.fonts = [ font ];
|
||||
fonts.packages = [ font ];
|
||||
|
||||
environment.etc."lightdm/slick-greeter.conf".source = slickGreeterConf;
|
||||
};
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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;
|
||||
|
@ -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 = {};
|
||||
|
@ -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
|
||||
|
@ -83,7 +83,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
};
|
||||
};
|
||||
|
||||
fonts.fonts = [ pkgs.inconsolata ];
|
||||
fonts.packages = [ pkgs.inconsolata ];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
@ -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 ];
|
||||
};
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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 = ''
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user