NixOSで拡張機能を使用して設定されたFirefoxを展開する必要があります。私はこれを宣言的に実行したいと思い、configuration.nix
ホームマネージャを使いたくありません。
ユーザープロファイルを介して:
- 構成は次の方法で行うことができます。基本設定ファイル
- ローディング拡張子は不可能、Firefox 74のサポートが終了しました
インストールディレクトリを介して:
- 構成+拡張は次のように管理できます。ポリシー.json
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;
};
}
pkgs
Nixpkgsパッケージセットはどこにありますか?
答え2
Firefox Nix Expressionsを見ましたがpolicies.json
。
派生への入力としてポリシーを提供できるようにパッケージを変更すると機能しますが、ファイルがビルド入力になるため、ユーザーはFirefoxをコンパイルする必要があります。
Firefoxが実行時にポリシーファイルを探す場所を指定する方法を提供した場合、これは理想的なソリューションです。それ以外の場合は、ソースコードを変更して、次のポリシーファイルを見つけるパッチをFirefoxパッケージに追加できます/etc/firefox/policies.json
。これを変更したら、environment
NixOSモジュールを使用して/etc/nixos/configuration.nix
ポリシーを作成できます。このような:
environment.etc."firefox/policies".text = "INSERT POLICY HERE";