NixのClosure
あるderivationが内部で依存している他のderivationの集合
依存関係が足りなくなるので
「閉包」と書いたほうがイメージしやすいmrsekut.icon
「クロージャ」と聞くと関数的なアレをイメージしてしまう
逆に言えば、あるderivationのclosureが全てあればそのderivationを実行できる
deployする時に使われる
code:/nix/store
hoge
piyo1
piyo2
fuga
hogeが内部でpiyo2とfugaを使っているなら、
hogeのclosureは、「hoge, piyo2, fuga」になる感じ
この例は雑なので厳密に正しいかどうかは知らんけど、イメージ的にはこんな感じだと思うmrsekut.icon
例えば、hogeのclosureにhogeを含むかどうかは知らん(用語的に)
$ nix-store -q --tree which man
manのclojureをtree状に表示する
$ nix-copy-closures
$ nix-store --export
参考