如何在 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 取得檔案?)

我對 NixOs 還很陌生。我查閱了有關覆蓋、覆蓋、包裝等的手冊,但我無法成功。我嘗試了firefoxfirefox-binfirefox-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";

相關內容