Unable to use system fonts for xeCJK (xelatex/texlive)

I use NixOS 23.11 and installed texlive with

environment.systemPackages = [ pkgs.texlive.combined.scheme-full ];

I have installed Noto Sans Mono CJK SC with

fonts.packages = [ pkgs.noto-fonts-cjk-sans ];

This is the output of fc-match:

$ fc-match "Noto Sans Mono CJK SC"
NotoSansMonoCJK-VF.otf.ttc: "Noto Sans Mono CJK SC" "Regular"

I am following the examle in this URL: xetex - Using XeLaTeX and xeCJK, why does 円 not render? - TeX - LaTeX Stack Exchange and I used the code like this in example.tex

\documentclass{article}
\usepackage{xeCJK}
\setCJKmonofont{Noto Sans Mono CJK SC}
\begin{document}
例子
\end{document}

I ran the command xelatex example.tex and this is the log file output:

This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022/nixos.org) (preloaded format=xelatex 1980.1.1)  28 MAR 2024 21:38
entering extended mode
 restricted \write18 enabled.
 %&-line parsing enabled.
**example.tex
(./example.tex
LaTeX2e <2022-11-01> patch level 1
L3 programming layer <2023-02-22>
(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/base/article.cls
Document Class: article 2022/07/02 v1.4n Standard LaTeX document class

(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/base/size10.clo
File: size10.clo 2022/07/02 v1.4n Standard LaTeX file (size option)
)
\c@part=\count181
\c@section=\count182
\c@subsection=\count183
\c@subsubsection=\count184
\c@paragraph=\count185
\c@subparagraph=\count186
\c@figure=\count187
\c@table=\count188
\abovecaptionskip=\skip48
\belowcaptionskip=\skip49
\bibindent=\dimen140
)
(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/xelatex/xecjk/xeCJK.sty
(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/l3kernel/expl3.sty
Package: expl3 2023-02-22 L3 programming layer (loader) 

(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/l3backend/l3backend-xetex.def
File: l3backend-xetex.def 2023-01-16 L3 backend support: XeTeX
\g__graphics_track_int=\count189
\l__pdf_internal_box=\box51
\g__pdf_backend_object_int=\count190
\g__pdf_backend_annotation_int=\count191
\g__pdf_backend_link_int=\count192
))
Package: xeCJK 2022/08/05 v3.9.1 Typesetting CJK scripts with XeLaTeX

(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/ctex/ctexhook.sty
Package: ctexhook 2022/07/14 v2.5.10 Document and package hooks (CTEX)
)
(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/l3packages/xtemplate/xtemplate.sty
Package: xtemplate 2023-02-02 L3 Experimental prototype document functions
\l__xtemplate_tmp_dim=\dimen141
\l__xtemplate_tmp_int=\count193
\l__xtemplate_tmp_muskip=\muskip16
\l__xtemplate_tmp_skip=\skip50
)
\l__xeCJK_tmp_int=\count194
\l__xeCJK_tmp_box=\box52
\l__xeCJK_tmp_dim=\dimen142
\l__xeCJK_tmp_skip=\skip51
\g__xeCJK_space_factor_int=\count195
\l__xeCJK_begin_int=\count196
\l__xeCJK_end_int=\count197
\c__xeCJK_CJK_class_int=\XeTeXcharclass1
\c__xeCJK_FullLeft_class_int=\XeTeXcharclass2
\c__xeCJK_FullRight_class_int=\XeTeXcharclass3
\c__xeCJK_HalfLeft_class_int=\XeTeXcharclass4
\c__xeCJK_HalfRight_class_int=\XeTeXcharclass5
\c__xeCJK_NormalSpace_class_int=\XeTeXcharclass6
\c__xeCJK_CM_class_int=\XeTeXcharclass7
\c__xeCJK_HangulJamo_class_int=\XeTeXcharclass8
\l__xeCJK_last_skip=\skip52
\c__xeCJK_none_node=\count198
\g__xeCJK_node_int=\count199
\c__xeCJK_CJK_node_dim=\dimen143
\c__xeCJK_CJK-space_node_dim=\dimen144
\c__xeCJK_default_node_dim=\dimen145
\c__xeCJK_CJK-widow_node_dim=\dimen146
\c__xeCJK_normalspace_node_dim=\dimen147
\c__xeCJK_default-space_node_skip=\skip53
\l__xeCJK_ccglue_skip=\skip54
\l__xeCJK_ecglue_skip=\skip55
\l__xeCJK_punct_kern_skip=\skip56
\l__xeCJK_indent_box=\box53
\l__xeCJK_last_penalty_int=\count266
\l__xeCJK_last_bound_dim=\dimen148
\l__xeCJK_last_kern_dim=\dimen149
\l__xeCJK_widow_penalty_int=\count267

Package xtemplate Info: Declaring object type 'xeCJK/punctuation' taking 0
(xtemplate)             argument(s) on line 2396.

\l__xeCJK_fixed_punct_width_dim=\dimen150
\l__xeCJK_mixed_punct_width_dim=\dimen151
\l__xeCJK_middle_punct_width_dim=\dimen152
\l__xeCJK_fixed_margin_width_dim=\dimen153
\l__xeCJK_mixed_margin_width_dim=\dimen154
\l__xeCJK_middle_margin_width_dim=\dimen155
\l__xeCJK_bound_punct_width_dim=\dimen156
\l__xeCJK_bound_margin_width_dim=\dimen157
\l__xeCJK_margin_minimum_dim=\dimen158
\l__xeCJK_kerning_total_width_dim=\dimen159
\l__xeCJK_same_align_margin_dim=\dimen160
\l__xeCJK_different_align_margin_dim=\dimen161
\l__xeCJK_kerning_margin_width_dim=\dimen162
\l__xeCJK_kerning_margin_minimum_dim=\dimen163
\l__xeCJK_bound_dim=\dimen164
\l__xeCJK_reverse_bound_dim=\dimen165
\l__xeCJK_margin_dim=\dimen166
\l__xeCJK_minimum_bound_dim=\dimen167
\l__xeCJK_kerning_margin_dim=\dimen168
\g__xeCJK_family_int=\count268
\l__xeCJK_fam_int=\count269
\g__xeCJK_fam_allocation_int=\count270
\l__xeCJK_verb_case_int=\count271
\l__xeCJK_verb_exspace_skip=\skip57

(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/fontspec/fontspec.sty
(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/l3packages/xparse/xparse.sty
Package: xparse 2023-02-02 L3 Experimental document command parser
)
Package: fontspec 2022/01/15 v2.8a Font selection for XeLaTeX and LuaLaTeX

(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/fontspec/fontspec-xetex.sty
Package: fontspec-xetex 2022/01/15 v2.8a Font selection for XeLaTeX and LuaLaTe
X
\l__fontspec_script_int=\count272
\l__fontspec_language_int=\count273
\l__fontspec_strnum_int=\count274
\l__fontspec_tmp_int=\count275
\l__fontspec_tmpa_int=\count276
\l__fontspec_tmpb_int=\count277
\l__fontspec_tmpc_int=\count278
\l__fontspec_em_int=\count279
\l__fontspec_emdef_int=\count280
\l__fontspec_strong_int=\count281
\l__fontspec_strongdef_int=\count282
\l__fontspec_tmpa_dim=\dimen169
\l__fontspec_tmpb_dim=\dimen170
\l__fontspec_tmpc_dim=\dimen171

(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/base/fontenc.sty
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
)
(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/fontspec/fontspec.cfg)))
(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/xelatex/xecjk/xeCJK.cfg
File: xeCJK.cfg 2022/08/05 v3.9.1 Configuration file for xeCJK package
))

Package xeCJK Warning: Undefined CJK default family `\CJKrmdefault' has been
(xeCJK)                replaced by `\CJKttdefault'.
(xeCJK)                
(xeCJK)                Try to use `\setCJKmainfont[<...>]{<...>}' to define
(xeCJK)                it.


Package fontspec Info: Could not resolve font "Noto Sans Mono CJK SC/BI" (it
(fontspec)             probably doesn't exist).


Package fontspec Info: Could not resolve font "Noto Sans Mono CJK SC/B" (it
(fontspec)             probably doesn't exist).


Package fontspec Info: Could not resolve font "Noto Sans Mono CJK SC/I" (it
(fontspec)             probably doesn't exist).


Package fontspec Info: Font family 'NotoSansMonoCJKSC(0)' created for font
(fontspec)             'Noto Sans Mono CJK SC' with options [Script={CJK}].
(fontspec)              
(fontspec)              This font family consists of the following NFSS
(fontspec)             series/shapes:
(fontspec)              
(fontspec)             - 'normal' (m/n) with NFSS spec.: <->"Noto Sans Mono
(fontspec)             CJK SC/OT:script=hani;language=dflt;"
(fontspec)             - 'small caps'  (m/sc) with NFSS spec.: 

No file example.aux.
\openout1 = `example.aux'.

LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 4.
LaTeX Font Info:    Trying to load font information for TS1+cmr on input line 4
.

(/nix/store/k019qj51xkrbscypdvxcynyxk1syx0f2-texlive-combined-full-2022-final-t
exmfdist/tex/latex/base/ts1cmr.fd
File: ts1cmr.fd 2022/07/10 v2.5l Standard LaTeX font definitions
)
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for TU/lmr/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.
LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 4.
LaTeX Font Info:    ... okay on input line 4.

Package fontspec Info: Adjusting the maths setup (use [no-math] to avoid
(fontspec)             this).

\symlegacymaths=\mathgroup4
LaTeX Font Info:    Overwriting symbol font `legacymaths' in version `bold'
(Font)                  OT1/cmr/m/n --> OT1/cmr/bx/n on input line 4.
LaTeX Font Info:    Redeclaring math accent \acute on input line 4.
LaTeX Font Info:    Redeclaring math accent \grave on input line 4.
LaTeX Font Info:    Redeclaring math accent \ddot on input line 4.
LaTeX Font Info:    Redeclaring math accent \tilde on input line 4.
LaTeX Font Info:    Redeclaring math accent \bar on input line 4.
LaTeX Font Info:    Redeclaring math accent \breve on input line 4.
LaTeX Font Info:    Redeclaring math accent \check on input line 4.
LaTeX Font Info:    Redeclaring math accent \hat on input line 4.
LaTeX Font Info:    Redeclaring math accent \dot on input line 4.
LaTeX Font Info:    Redeclaring math accent \mathring on input line 4.
LaTeX Font Info:    Redeclaring math symbol \colon on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Gamma on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Delta on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Theta on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Lambda on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Xi on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Pi on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Sigma on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Upsilon on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Phi on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Psi on input line 4.
LaTeX Font Info:    Redeclaring math symbol \Omega on input line 4.
LaTeX Font Info:    Redeclaring math symbol \mathdollar on input line 4.
LaTeX Font Info:    Redeclaring symbol font `operators' on input line 4.
LaTeX Font Info:    Encoding `OT1' has changed to `TU' for symbol font
(Font)              `operators' in the math version `normal' on input line 4.
LaTeX Font Info:    Overwriting symbol font `operators' in version `normal'
(Font)                  OT1/cmr/m/n --> TU/lmr/m/n on input line 4.
LaTeX Font Info:    Encoding `OT1' has changed to `TU' for symbol font
(Font)              `operators' in the math version `bold' on input line 4.
LaTeX Font Info:    Overwriting symbol font `operators' in version `bold'
(Font)                  OT1/cmr/bx/n --> TU/lmr/m/n on input line 4.
LaTeX Font Info:    Overwriting symbol font `operators' in version `normal'
(Font)                  TU/lmr/m/n --> TU/lmr/m/n on input line 4.
LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `normal'
(Font)                  OT1/cmr/m/it --> TU/lmr/m/it on input line 4.
LaTeX Font Info:    Overwriting math alphabet `\mathbf' in version `normal'
(Font)                  OT1/cmr/bx/n --> TU/lmr/b/n on input line 4.
LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `normal'
(Font)                  OT1/cmss/m/n --> TU/lmss/m/n on input line 4.
LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `normal'
(Font)                  OT1/cmtt/m/n --> TU/lmtt/m/n on input line 4.
LaTeX Font Info:    Overwriting symbol font `operators' in version `bold'
(Font)                  TU/lmr/m/n --> TU/lmr/b/n on input line 4.
LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `bold'
(Font)                  OT1/cmr/bx/it --> TU/lmr/b/it on input line 4.
LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `bold'
(Font)                  OT1/cmss/bx/n --> TU/lmss/b/n on input line 4.
LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `bold'
(Font)                  OT1/cmtt/m/n --> TU/lmtt/b/n on input line 4.
 [1

] (./example.aux) ) 
Here is how much of TeX's memory you used:
 4614 strings out of 476684
 150374 string characters out of 5781117
 1843018 words of memory out of 5000000
 24896 multiletter control sequences out of 15000+600000
 512893 words of font info for 40 fonts, out of 8000000 for 9000
 1348 hyphenation exceptions out of 8191
 70i,5n,81p,311b,229s stack positions out of 10000i,1000n,20000p,200000b,200000s

Error 256 (driver return code) generating output;
file example.pdf may not be valid.

I think

Package fontspec Info: Could not resolve font "Noto Sans Mono CJK SC/BI" (it
(fontspec)             probably doesn't exist).

is the problem but I am not sure.
It successfully build when I delete the line \setCJKmonofont{Noto Sans Mono CJK SC} but this is not what I want.
I cannot find any documentation about xelatex usage in nix or NixOS.
Thanks for your help!

I tried other fonts and it build successfully. I think it is a font specific issue.

I installed sarasa-gothic, which provide

$ fc-match "Sarasa Gothic SC"
sarasa-regular.ttc: "Sarasa Gothic SC" "Regular"

and I replaced

\setCJKmonofont{Noto Sans Mono CJK SC}

with

\setCJKmonofont{Sarasa Gothic SC}

then run xelatex example.tex and it build successfully.

For Noto Sans Mono CJK SC, I also tested the makeFontsConf nix-shell method (latex: CJK font broken in Mac · Issue #152355 · NixOS/nixpkgs · GitHub) with no success (putting noto-fonts-cjk-sans in fontDirectories square brackets).

I notied the difference between two fonts is that Sarasa Gothic SC intstalled as sarasa-*.ttc but Noto Sans Mono CJK SC installed as NotoSansMonoCJK-VF.otf.ttc which have two dot in the filename. I wonder if it is the actual cause of the issue.