old
1{
2 pkgs,
3 lib,
4 ...
5}: {
6 fonts = {
7 enableDefaultPackages = false;
8 fontDir.enable = true;
9
10 packages = with pkgs; [
11 nur.repos.rewine.ttf-ms-win10
12
13 noto-fonts
14 # noto-fonts-cjk-sans
15 # noto-fonts-cjk-serif
16 noto-fonts-emoji
17 # noto-fonts-extra
18
19 source-sans
20 source-serif
21 source-han-sans
22 source-han-serif
23
24 lxgw-wenkai
25
26 maple-mono.NF-CN
27 ];
28
29 # user defined fonts
30 # the reason there's Noto Color Emoji everywhere is to override DejaVu's
31 # B&W emojis that would sometimes show instead of some Color emojis
32 fontconfig.defaultFonts = {
33 serif = ["Source Han Serif SC" "Source Han Serif TC" "Noto Color Emoji"];
34 sansSerif = ["Source Han Sans SC" "Source Han Sans TC" "Noto Color Emoji"];
35 monospace = ["Maple Mono NF CN" "Noto Color Emoji"];
36 emoji = ["Noto Color Emoji"];
37 };
38 };
39
40 # https://wiki.archlinux.org/title/KMSCON
41 services.kmscon = {
42 # Use kmscon as the virtual console instead of gettys.
43 # kmscon is a kms/dri-based userspace virtual terminal implementation.
44 # It supports a richer feature set than the standard linux console VT,
45 # including full unicode support, and when the video card supports drm should be much faster.
46 enable = true;
47 fonts = [
48 {
49 name = "JetBrains Mono";
50 package = pkgs.jetbrains-mono;
51 }
52 ];
53 extraOptions = "--term xterm-256color";
54 extraConfig = lib.mkDefault "font-size=12";
55 # Whether to use 3D hardware acceleration to render the console.
56 hwRender = true;
57 };
58}