如何在 nixos 中安装 google chrome?

如何在 nixos 中安装 google chrome?

如何在 nixos 中安装 google chrome?我努力了

nix-env -i google-chrome
nix-env -i google-chrome-stable
...

这似乎不起作用。我也尝试过使用不稳定分支

nix-channel --add https://nixos.org/channels/nixpkgs-unstable
nix-channel --update

进而

nix-env -i unstable.google-chrome-stable
nix-env -i unstable.google-chrome
...

然而,看起来这个包应该存在于某个地方。 https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/networking/browsers/google-chrome

有人知道我在这里缺少什么吗?

答案1

此 NixOS 常见问题解答帮助过我:

如何安装专有或非免费软件包?

您将无法以用户身份安装或搜索非免费软件包,除非您在〜/.config/nixpkgs/config.nix(可能需要创建文件和文件夹):

{ # [...] 允许Unfree =
真的; }

使用 NixOS 时,可以在系统范围内启用非自由软件包,然后在您的 /etc/nixos/configuration.nix

{ # [...] nixpkgs.config.allowUnfree = true; }

请注意,仅此一项将不允许您使用 nix-env 搜索或安装软件包。

为了暂时允许不自由的软件包,您可以设置环境变量NIXPKGS_ALLOW_UNFREE,例如

NIXPKGS_ALLOW_UNFREE=1 nix-env

请注意,由于政策原因,我们无法在 Hydra 上测试或构建非自由软件。大多数非自由许可证禁止我们执行或分发该软件。

从控制台nix-env

$ NIXPKGS_ALLOW_UNFREE=1 nix-env -qa | grep google-chrome
google-chrome-63.0.3239.132
google-chrome-beta-64.0.3282.71
google-chrome-dev-65.0.3311.3

第 6 章 全局配置NixPkgs 手册中的“更深入地了解细节(尤其是部分6.3.安装非免费软件包)。

我找到了雷诺-林德克/NixSetup.md要点非常有帮助,有大量额外的资源和评论。


编辑nix-env不久前被抛弃了,我用它nix-shell来代替;我只将可安装的东西放在/etc/nixos/configuration.nix需要额外配置的地方,例如vim.这样我就不再那么依赖渠道了(希望能在某一时刻学习薄片……:)。

因此,当我需要一个工具(例如、、、等peek)时,我会选择以下工具:google-chrometreesheets

$ NIXPKGS_COMMIT="dc849ffbcd93c2a23e99dcc94efb0962594b8b5f"
$ NIXPKGS_TARBALL="https://github.com/NixOS/nixpkgs/tarball/${NIXPKGS_COMMIT}"
$ PKGS="(callPackage (fetchTarball ${NIXPKGS_TARBALL}) {})"

$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -v -p "${PKGS}.google-chrome"

$ nohup google-chrome-stable & > ~/.nohup.out # or /dev/null
$ disown

(请参阅这个很好的答案nohupdisown.)


编辑2:Nix shell 也可以在终端上临时搭建:

NIXPKGS_ALLOW_UNFREE=1                                  \
nix-shell -v -E                                         \
"let                                                    \
   pkgs = import (fetchTarball ${NIXPKGS_TARBALL}) {};  \
 in                                                     \
   pkgs.mkShell {                                       \
     buildInputs = with pkgs; [ google-chrome elixir ]; \
   }"

答案2

基本上,您需要首先检查频道名称:

$ nix-channel --list
nixpkgs https://nixos.org/channels/nixpkgs-unstable

一旦您知道频道名称(在本例中nixpkgs),您就可以继续安装:

$ nix-env -iA nixpkgs.google-chrome
installing ‘google-chrome-64.0.3282.186’
..................

或者,您可以在执行安装之前搜索完全限定名称:

$ nix-env -qaP google-chrome                                                                                                                               
nixpkgs.google-chrome  google-chrome-64.0.3282.186

相关内容