Open4
今日から始める NIx 入門(Zero to Nix編)
参考文献
以下の記事を読んでいく:
こっちもぼちぼち読んでいく
出会ってきた Nix のリポジトリたちはこちら↓
Nix の導入方法
以下のインストーラーを実行
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
ターミナルを再起動して、nix --version
すると以下のようにバージョンが表示される:
% nix --version
nix (Nix) 2.23.3
Nix でプログラムを実行する(Run a program with Nix)
ここでは、
-
nix run
コマンドを使って、Nixpkgsからプログラムを実行する - Nix フレームとパッケージについて学ぶ
- Nixpkgsからプログラムをダウンロードして実行する
以下のコマンドを実行
% echo "Hello Nix" | nix run "https://flakehub.com/f/NixOS/nixpkgs/*#ponysay"
説明
先ほどのコマンドは、以下の操作を行う:
- Nixpkgsへのflakeリファレンスを使ってNixのコードを取り込み、ponysayのflake出力をターゲットにした(これについては後述する)
- ponysayパッケージをビルドし、その結果をNixストアに保存
- ponysayパッケージからbin/ponysayで実行ファイルを実行
Nix 開発環境を探る(Explore Nix development environments)
ここでは、
-
nix develop
コマンドw使って、Nix開発環境を起動する - 実際にその環境に入ることなく、開発環境内でコマンドを実行する
- 特定のプログラミング言語に合わせたNix開発環境を探る
- より複雑な開発環境を探る
- ローカルフレークで定義された環境を起動するために、
nix develop
を使う
nix develop
コマンドでNix環境を起動する:
nix developコマンドはNix環境を起動する:
すると、curl と Git を含んだ Bash 環境となるはず。
これは、https://flakehub.com/f/DeterminateSystems/zero-to-nix/*#example
flake reference を使って、Nix のコードを取り込み、特定のflake 出力をビルドした。
環境設定で制定されたパッケージをビルドした。
Nixストアで git, curl のパッケージを検出できるように、PATHで環境を設定した
Nix 開発環境で提供できる他の2つのこと
TBD
以下のコマンドで、Nix 開発環境を離れることができる:
exit