NixOS で設定され拡張機能が備わった Firefox を展開する必要があります。これを宣言的に ( で) 行いたいのですconfiguration.nix
が、home-manager は使いたくありません。
ユーザープロフィール経由:
- 設定可能な方法設定ファイル
- 拡張機能の読み込みはありえない、Firefox 74でサポートが終了しました
インストールディレクトリ経由:
- 設定+拡張機能は以下から管理可能ポリシー.json
/nix/store/<hash>-firefox-unwrapped-74.0.1/lib/firefox/distribution/policies.json
Firefox は( で検証済み)で設定を探しますstrace
。
そこで質問です: このファイルを Firefox nixpkgs パッケージに追加するにはどうすればよいですか? (ボーナス質問: Github リポジトリからファイルを取得するにはどうすればいいですか?)
私は NixOs をあまり使いません。オーバーライド、オーバーレイ、ラッピングなどについてマニュアルを参照しましたが、うまくいきませんでした。 、 、 の両方を試しfirefox
ましfirefox-bin
たfirefox-unwrapped
。
答え1
NixOS 21.05以降(専念) 次のようなポリシー値を設定したカスタム Firefox パッケージを簡単に作成できるようになりました。
pkgs.wrapFirefox pkgs.firefox-unwrapped {
extraPolicies = {
DisableFirefoxStudies = true;
DisablePocket = true;
};
}
pkgs
Nixpkgs パッケージセットはどこにありますか。
答え2
Firefox の Nix 式をざっと見てみましたが、 を提供する方法が見つかりませんでしたpolicies.json
。
ポリシーを派生への入力として提供できるようにパッケージを変更すると、それは機能しますが、そのファイルはビルド入力となるため、ユーザーには Firefox をコンパイルする負担がかかります。
Firefox が実行時にポリシー ファイルの場所を指定する方法を提供している場合、それが理想的なソリューションになるかもしれません。そうでない場合は、ソース コードを変更して、たとえば... でポリシー ファイルを探すようにするパッチを Firefox パッケージに追加できます/etc/firefox/policies.json
。この変更を行うと、environment
NixOS モジュールを使用して/etc/nixos/configuration.nix
ポリシーを作成できます。次のようになります。
environment.etc."firefox/policies".text = "INSERT POLICY HERE";