다음과 같이 불안정한 채널에서 패키지를 설치할 수 있다는 것을 알고 있습니다.
{ config, pkgs, ... }:
let
unstable-pkgs = import <unstable> {};
in
{
environment.systemPackages = [ unstable-pkgs.chromium ]
}
이것은 내 구성에서 ' import <unstable> {};
표시' 라고 말합니다 pkgs
. 하지만 programs
'또는'을 사용하여 동일한 작업을 수행하려면 어떻게 해야 합니까 services
?
답변1
대부분의 시스템에 안정적인 채널을 사용하고 싶지만 불안정한 채널에서 일부 특정 프로그램이나 서비스를 얻으려고 한다고 가정합니다. stable에서 필요한 특정 모듈을 가져와서 이를 수행할 수 있습니다.
그러나 모듈이 다음에도 존재하는 경우안정적인채널을 사용하면 두 모듈이 충돌하게 됩니다. disabledModules
이를 사용하여 stable 채널에서 기존 모듈을 억제 할 수 있습니다 .
plymouth
예를 들어, 불안정한 채널에서 모듈을 로드하는 방법은 다음과 같습니다 .
{ nixpkgs-unstable, ... }:
{
imports = [
"${nixpkgs-unstable}/nixos/modules/system/boot/plymouth.nix"
];
disabledModules = [
"system/boot/plymouth.nix"
];
}
nixpkgs-unstable
이것은 Flakes 입력으로 정의된 Flakes를 사용하는 시스템에 있습니다.그리고이 입력은 specialArgs
시스템 구성 빌드 호출의 일부로 전달됩니다. nixosSystem
그러나 imports
이는 disabledModules
Flakes에만 국한되지 않으므로 불안정한 채널에서 모듈까지의 경로를 제공할 수 있는 한 Flakes가 아닌 시스템에서도 동일한 작업을 수행할 수 있어야 합니다.