Yumeville

Nixのについての詳細

HolochainではNixOSツールキットを使用して、Holochainフレームワークとアプリの一貫した開発、
テスト、デプロイ環境を構築しています。
NixOS開発ツールは様々なOSで稼働することで知られています。
また、NixOS は自動テストやHoloポートのOSとしても使用されています。

ツールの主なコンポーネントは、

  • Rust開発言語
  • NodeJS及びnpm
  • 暗号技術ライブラリ
  • 一般的自動化及びスクリプトツール

これらのコンポーネントは、アプリやホロチェーンコアなどで一貫性を保つことが重要です。
ですので、Holonix レポジトリはこれらコンポーネントの依存性を常にトラッキングしています。
ですが、読者がHolonix自体と直接かかわることは通常ありませんので安心してください。

Holochain開発ワークフローで使用される主なNixツールはnix-shellと呼ばれ、読者の既存の開発環境の上に新しいツールセットと新しい環境を自動的に乗せるBashシェルです。

名の通っているパッケージマネージツールは通常1つのOSしかターゲットにしていませんがNixOSはそれに比べて様々な開発環境に対応できるようになっています。

Nixツールはまだまだ奥深く、ツールのためのOSや関数型言語も存在しています。
これらについてさらに詳しく知るためにはこちらのウィキか “pills” チュートリアルを参照にすると良いでしょう。また、#nixos on freenodeというコミュニティチャットグループも頻繁に活動しており手助けになります。

nix-shell

Holochainでの作業中は、通常nix-shellコマンドを常に実行しているようになります。ですのでnix-shellを閉じると終了する前に関連する依存関係(dependencies)や環境変数を全てクリーンアップします。

nix-shellに読者が入るたびにHolochainの最新リリースが提供されます。Nixは複数のdefault.nixファイルでコンフィグされています。これらのファイルは依存性や変数を読者のターミナルにセットアップするためにあります。

マスターのdefault.nixファイルを拡張して使用するかhttps://holochain.loveを使ってダイレクトにnix-shellを使用することができます。nix-shellをholochain.loveで開くことによってホロチェーンのツールのアップデートは自動的に ダウンロードされます。

Nixは終了する前に追加したツール全てをクリーンアップします。
ですので、ホロチェーンアプリを再度開発する際にはnix-shellにもう一度入らないとなりません。

注:ファイルなどは読者のマシン上のローカルにキャッシュされるため、次回nix-shellに入ったときに再ダウンロードまたは再ビルドはされません。