Nix
Nix は、パッケージ管理の信頼性と再現性を高めることを目的とした純粋に機能的なパッケージマネージャーです。
目次
インストール
Nix のインストールには 3 つの選択肢があります。ネイティブ Arch Linux パッケージ、Nix が公式にサポートするアップストリームインストールスクリプト、および Nix のサードパーティサポートを提供する会社である Determinate Systems が提供する「Zero to Nix」スクリプトです。
ネイティブ
Nix は nix パッケージでインストールできます。
アップストリームインストールスクリプト
ファイルを curl --proto '=https' --tlsv1.2 -sSfL https://nixos.org/nix/install -o nix-install.sh
でダウンロードし、ファイルを確認します: less ./nix-install.sh
、そしてスクリプトを実行します ./nix-install.sh --daemon
で Nix のインストールを開始します。
Zero to Nix インストールスクリプト
より簡単で、複雑でない Nix のセットアップを望む場合は、Determinate Systems のセットアップを使用できます。ファイルを curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix -o nix-install.sh
でダウンロードし、ファイルを確認します: less ./nix-install.sh
、そしてスクリプトを実行します sh ./nix-install.sh install
でインストールを開始します。
詳細については、Determinate Systems のマニュアル を参照してください。
設定
Nix デーモンが起動時に起動するように、nix-daemon.service
を有効化します。
デーモンソケットにアクセスするために必要なユーザーを nix-users
グループ に追加します。変更が有効になるためにセッションを再起動します。
チャンネル を追加し、更新します。
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable $ nix-channel --update
使用方法
シェルが設定された後、以下を実行することで hello が更新された PATH にインストールされます:
$ nix-env -iA nixpkgs.hello
バイナリ自体は /nix/store/[hash]-hello-[version]/bin/hello
に位置します。
hello
を実行して、正しい PATH にあることを確認します。動作すれば、以下で削除できます:
$ nix-env --uninstall hello
または、インストールされているプログラムのリストを確認できます:
$ nix-env --query
さらに、世代をリストすることもできます:
$ nix-env --list-generations
より詳細な情報については nix-env(1) を参照してください。
ヒントとコツ
最大ジョブ数
デフォルトでは、nix は一つのビルダーのみを使用します。以下の設定により、nix は CPU の数だけのジョブを使用することができます:
/etc/nix/nix.conf
max-jobs = auto
グラフィカルアクセラレーション
OpenGL および Vulkan アプリケーションを実行するには、NixGL を使用します。
デスクトップ統合
デスクトップ環境と Nix アプリケーションを統合するために、~/.nix-profile/share
ディレクトリを $XDG_DATA_DIRS
に追加します。例えば、export XDG_DATA_DIRS=$HOME/.nix-profile/share:$XDG_DATA_DIRS
を使用します。
nix-shell の Zsh 統合
nix-shell
はデフォルトで Bash を起動します。zsh-nix-shellAUR は、nix-shell
環境でデフォルトのシェルとして Zsh を使用することを可能にします。一部のプロンプトプラグイン、例えば zsh-theme-powerlevel10kAUR や zsh-pure-promptAUR は、nix-shell
インジケーターを提供します。