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

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

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

/nix/store/<hash>-firefox-unwrapped-74.0.1/lib/firefox/distribution/policies.jsonFirefox는 (로 확인됨 ) 에서 구성을 찾습니다 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 표현식을 잠깐 살펴봤지만 policies.json.

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

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

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

관련 정보