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 FAQ私を助けた:

独自または非フリーソフトウェアパッケージをインストールする方法は?

以下を行わない限り、ユーザーとして無料でないパッケージをインストールまたは検索することはできません。~/.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章グローバル構成詳細(特に部品)を詳しく見てください。6.3。非自由ソフトウェアパッケージのインストール)。

見つけました。ルノー・リンデック/NixSetup.md多数の追加リソースやコメントを含む重要な項目は非常に便利です。


編集する:はnix-envしばらく前に廃棄され、代わりに使用されます。たとえば、追加の設定が必要なnix-shell場所にのみインストールできます。これはチャンネルに大きく依存しません(ある時点でフレークについて学ぶことができることを願っています...)。/etc/nixos/configuration.nixvim

したがって、ツールが必要な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

(この素晴らしい答えを参照してくださいnohupそしてdisown.)


編集2:Nix シェルは端末で即座に作成することもできます:

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

関連情報