Rebase to flake parts #6
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
{ ... }: {
|
||||
flake.nixosModules.systemFonts = {
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.chiasson.system.fonts;
|
||||
in
|
||||
{
|
||||
options.chiasson.system.fonts = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Bundled fonts + fontconfig defaults.";
|
||||
};
|
||||
|
||||
packages = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-color-emoji
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
mplus-outline-fonts.githubRelease
|
||||
dina-font
|
||||
proggyfonts
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.droid-sans-mono
|
||||
nerd-fonts.jetbrains-mono
|
||||
];
|
||||
description = "System font packages to install.";
|
||||
};
|
||||
|
||||
defaultFonts = {
|
||||
monospace = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ "FiraCode Nerd Font" "Fira Code" "DejaVu Sans Mono" ];
|
||||
description = "Default monospace font fallback chain.";
|
||||
};
|
||||
sansSerif = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ "Noto Sans" "DejaVu Sans" ];
|
||||
description = "Default sans-serif font fallback chain.";
|
||||
};
|
||||
serif = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ "Noto Serif" "DejaVu Serif" ];
|
||||
description = "Default serif font fallback chain.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
fonts.packages = cfg.packages;
|
||||
fonts.fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
monospace = cfg.defaultFonts.monospace;
|
||||
sansSerif = cfg.defaultFonts.sansSerif;
|
||||
serif = cfg.defaultFonts.serif;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user