NixOS의 불안정한 채널에서 프로그램 및 서비스 구성

NixOS의 불안정한 채널에서 프로그램 및 서비스 구성

다음과 같이 불안정한 채널에서 패키지를 설치할 수 있다는 것을 알고 있습니다.

{ 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이는 disabledModulesFlakes에만 국한되지 않으므로 불안정한 채널에서 모듈까지의 경로를 제공할 수 있는 한 Flakes가 아닌 시스템에서도 동일한 작업을 수행할 수 있어야 합니다.

관련 정보