答え1
XDG仕様に準拠したアプリケーションの場合
NixOS 21.11以降では、これを設定できますxdg.mime.defaultApplications
。たとえば、QutebrowserをデフォルトのWebブラウザとして設定できます。
xdg.mime.defaultApplications = {
"text/html" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/about" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/unknown" = "org.qutebrowser.qutebrowser.desktop";
}
xdg.mime.enable
isがtrue
デフォルト値であることを確認してください。それ以外の場合、上記のコードスニペットは機能しません。
電子アプリケーションの場合:
Electronベースのデスクトップアプリケーションは、デフォルトのブラウザインスタンスを取得してDEFAULT_BROWSER
環境変数へのリンクを開くように見えます。で見つけることができるバイナリPATH
または使用するバイナリのフルパスに設定されることが期待されます。
qutebrowserをリセットする別の例:
environment.sessionVariables.DEFAULT_BROWSER = "${pkgs.qutebrowser}/bin/qutebrowser"
答え2
NixOSはユーザー固有の構成を管理しません。期間。
設定ダイアログボックスに見つからないブラウザの/etc/nixos/configuration.nix
場合nix-env
。
ヒント
パッケージを宣言的および命令的にインストールする場合は、最終的に2つの依存関係ツリーを管理する必要があります。一方は通過しnixos-rebuild --upgrade boot
、もう一方は通過しますnix-channel --update && nix-env -u
。これは、アップデート手順のいずれかを忘れてしまうと、最終的に古いパッケージをインストールすることになります。
答え3
ホームマネージャの場合:
nrdxpの回答のシステム全体の設定は何らかの理由で無視される可能性があるため、機能せずにホーム管理者を使用している場合は、ユーザーごとに設定してみてください。これを行うにはデフォルトで無効になっているので、に置き換えてmime
設定mimeApps
する必要があります。enable = true
フラグメントを調整すると、次のような結果が得られます。
home-manager.users.<YOUR_USER_NAME>.xdg.mimeApps = {
enable = true;
defaultApplications = {
"text/html" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/about" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/unknown" = "org.qutebrowser.qutebrowser.desktop";
};
};
この機能を構成する必要がある各ユーザーに対してこれを行う必要があります。
答え4
@nrdxpの答えにスペルエラーがあります。 sが多すぎますsessionsVariables
。やるべきこと:残念ながら、私はコメントする評判が十分ではありません。
environment.sessionVariables.DEFAULT_BROWSER = "${pkgs.qutebrowser}/bin/qutebrowser"