@
licolicoli 你提供的文档我看了,它使用的确实是 overlays ,但这不是最佳方案。
能避免大量编译的写法是这样的,把它文档中的第二部分 overlays 删掉,再把第三部分的代码改成这样:
```nix
# configuration.nix
{
# ...
envirOnment= {
systemPackages = [
pkgs.alsa-ucm-conf.overrideAttrs (old: {
wttsrc = (fetchFromGitHub {
owner = "WeirdTreeThing";
repo = "chromebook-ucm-conf";
rev = "484f5c581ac45c4ee6cfaf62bdecedfa44353424";
hash = "sha256-Jal+VfxrPSAPg9ZR+e3QCy4jgSWT4sSShxICKTGJvAI=";
});
installPhase = ''
runHook preInstall
mkdir -p $out/share/alsa
cp -r ucm ucm2 $out/share/alsa
mkdir -p $out/share/alsa/ucm2/conf.d
cp -r $wttsrc/{hdmi,dmic}-common $wttsrc/GENERATION/* $out/share/alsa/ucm2/conf.d
runHook postInstall
'';
})
];
sessiOnVariables= {
ALSA_CONFIG_UCM2 = "${pkgs.alsa-ucm-conf}/share/alsa/ucm2";
};
};
}
```