Nix言語のtoString
builtins.toString
任意の値を文字列に変換する関数
"${}"を使うと埋め込まれた変数に自動で適用される
プリミティブ型はその他の言語と同じように変換
toString 1 -> "1"
toString 1.0 -> "1.000000"
toString ./path/to/something -> "/absolute/path/to/something"
Path型に適用すると絶対パスの文字列が返ってくる
Attribute Setの場合
「outPathというattributeにtoStringを適用したもの」を返す
toString { outPath = 1; } -> "1"
toString { } -> エラー発生
derivation関数の返り値のAttrSetのoutPathにはストアパスが入っている!
"${pkgs.hello}/bin/hello"みたいな書き方ができる理由
公式リファレンスに載っていた