내가 가지고 있다고 말해services.foo.enable = true;
그리고 environment.systemPackages
"foo"를 포함합니다. foo가 제공되기 때문에 후자는 일반적으로 중복됩니다.필요"foo" 패키지. 패키지 항목 없이 프로그램이나 서비스를 활성화할 때 이러한 중복 항목을 어떻게 감지할 수 있습니까?
텍스트 일치는 사소한 경우 중복을 나타내는 좋은 지표가 될 수 있지만, 예를 들어 활성화하면 service.xserver.desktopManager.xfce
이미 environment.systemPackages
.
주요 목표는 구성을 단순화하는 것입니다. 극단적인 경우에는 필요한 모든 패키지를 활성화하기 전에 패키지 목록에 추가하여 구성이 필요한 것보다 훨씬 더 커졌습니다.
두 번째 목표는 디버깅을 단순화하는 것입니다. 프로그램이나 서비스를 활성화했지만 시스템이 기대한 대로 작동하지 않습니다(예: 프로그램이나 서비스와 관련된 도구를 에서 사용할 수 없음 $PATH
). 이제 X를 활성화하면 패키지 Y가 설치된다는 점을 알려주는 방법이 있다면 즉시 배제할 수 있는 디버깅 방법이 됩니다.