Nixのbuilder
そのderivationをどうやってbuildするのかを指定する
"${nixpkgs.bash}/bin/bash"や、./builder.shを指定することが多い
これはだいたい同じ意味で、
前者の場合は、argsにshプログラムそのまま書く感じで指定し、
code:sh
builtins.derivation {
name = "hello";
system = builtins.currentSystem;
builder = "${nixpkgs.bash}/bin/bash";
args = [
"-c"
''
echo "Hello World!" > $out
''
];
}
後者の場合は、そのshell scriptに渡す引数を渡しているぐらいの違い
code:sh
builtins.derivation {
name = "hello";
system = builtins.currentSystem;
builder = "./builder.sh";
}
code:builder.sh
declare -xp
echo "Hello World!" > $out