NixOs에서 Firefox 정책을 사용하는 방법/Nix 패키지에 구성 파일을 추가하는 방법은 무엇입니까?

NixOs에서 Firefox 정책을 사용하는 방법/Nix 패키지에 구성 파일을 추가하는 방법은 무엇입니까?

NixOS에서 확장 기능을 사용하여 구성된 Firefox를 배포해야 합니다. 나는 이 작업을 선언적으로(에서) 수행하고 싶고 configuration.nix홈 관리자를 사용하고 싶지 않습니다.

Firefox는 에서 구성 /nix/store/<hash>-firefox-unwrapped-74.0.1/lib/firefox/distribution/policies.json(검증 포함 )을 찾습니다 strace.

그래서 질문은: 이 파일을 Firefox nixpkgs 패키지에 어떻게 추가합니까? (보너스 질문: 내 Github Repo에서 파일을 어떻게 얻나요?)

저는 NixO를 처음 접했습니다. 덮기, 덮기, 감싸기 등에 관한 매뉴얼을 찾아봤지만 제대로 작동하지 못했습니다. 나는 노력 firefox했고 firefox-bin.firefox-unwrapped

답변1

NixOS 21.05 이후(범죄) 이제 쉽게 사용자 정의 Firefox 패키지를 생성하고 일부 정책 값을 설정할 수 있습니다. 예를 들면 다음과 같습니다.

pkgs.wrapFirefox pkgs.firefox-unwrapped {
  extraPolicies = {
    DisableFirefoxStudies = true;
    DisablePocket = true;
  };
}

pkgsNixpkgs 패키지 세트는 어디에 있습니까?

답변2

Firefox Nix Expressions를 살펴봤지만 policies.json.

파생에 대한 입력으로 정책을 제공할 수 있도록 패키지를 수정하면 작동하지만 해당 파일이 빌드 입력이 되기 때문에 사용자는 Firefox를 컴파일해야 하는 부담을 지게 됩니다.

Firefox가 런타임에 정책 파일을 찾을 위치를 지정하는 방법을 제공했다면 이는 이상적인 솔루션이 될 수 있습니다. 그렇지 않으면 소스 코드를 수정하여 다음과 같은 정책 파일을 찾는 패치를 Firefox 패키지에 추가할 수 있습니다 /etc/firefox/policies.json. 이렇게 변경한 후 environmentNixOS 모듈을 사용하여 /etc/nixos/configuration.nix정책을 생성할 수 있습니다. 이 같은:

environment.etc."firefox/policies".text = "INSERT POLICY HERE";

관련 정보