如何在NixOS中设置默认浏览器?

mhe*_*rzl 8 chrome gnome3 nixos

我正在使用 NixOS 和 Gnome,并且想将 Chromium 设置为默认浏览器。

我的设置的“详细信息”部分的“默认应用程序”下显示以下内容:

在此输入图像描述

Chromium 和 Firefox 均已安装在我的系统上(Chromium v​​ia $ nix-env -i chromium),但它们并未显示在“Web”下拉菜单中,该下拉菜单仅显示一个选项。

如何将 Chromium 设置为我的默认浏览器?

小智 7

对于遵循 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";
}
Run Code Online (Sandbox Code Playgroud)

确保xdg.mime.enableis true,这是默认值,否则上面的代码片段将不起作用。

对于电子应用程序:

基于 Electron 的桌面应用程序似乎会拉取默认浏览器实例来打开DEFAULT_BROWSER环境变量中的链接。它期望被设置为可以在 中找到的二进制文件PATH,或者要使用的二进制文件的完整路径。

另一个例子,再次设置 qutebrowser:

environment.sessionVariables.DEFAULT_BROWSER = "${pkgs.qutebrowser}/bin/qutebrowser"
Run Code Online (Sandbox Code Playgroud)


Emm*_*osa 5

NixOS 不管理特定于用户的配置。句号。

至于配置对话框未找到的浏览器,请尝试通过而/etc/nixos/configuration.nix不是使用 来安装它们nix-env

提示

如果您以声明式和命令式方式安装软件包,您最终将不得不管理两个依赖关系树。一个通过nixos-rebuild --upgrade boot,另一个通过nix-channel --update && nix-env -u。这意味着如果您忘记了任何一个更新过程,您最终都会安装旧的软件包。