Nix Expressions
code:default.nix
{ stdenv, fetchurl, perl }:
stdenv.mkDerivation {
name = "hello-2.1.1";
builder = ./builder.sh;
src = fetchurl {
url = ftp://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz;
sha256 = "1md7jsfd8pa45z73bz1kszpp01yw6x5ljkjk2hx7wl800any6465";
};
inherit perl;
}
最初の行は関数の引数
stdenv はUNIXの基本機能
cp grep tar や GCC、Bash
関数の形式は { 引数a, b, c, ... z }: body
Nixではなんかからパッケージを作り出すことをderivationと呼ぶ
fetchurl はファイルをダウンロードする関数
stdenv.mkDerivation の引数はstring/anyのkey/value