diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2017-04-28 20:28:16 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2017-04-29 11:05:10 +0300 |
commit | c2afdc99216156f87f436c52c82e286dd5f7e655 (patch) | |
tree | a325ca59b5ec19923952ddb5a1a3b776e50de9ae /modules/pkgs/nix-serve/default.nix | |
parent | 10c8ff2047ad7ae45cd2cf60d77456dc205659fa (diff) | |
download | nixsap-c2afdc99216156f87f436c52c82e286dd5f7e655.tar.gz |
Added nix-serve app and package
Diffstat (limited to 'modules/pkgs/nix-serve/default.nix')
-rw-r--r-- | modules/pkgs/nix-serve/default.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/modules/pkgs/nix-serve/default.nix b/modules/pkgs/nix-serve/default.nix new file mode 100644 index 0000000..7dcd9df --- /dev/null +++ b/modules/pkgs/nix-serve/default.nix @@ -0,0 +1,31 @@ +{ stdenv, coreutils, pxz, nix, perl, perlPackages }: + +let + inherit (stdenv.lib) + makeBinPath + ; + +in stdenv.mkDerivation { + name = "nix-serve"; + + src = "${./nix-serve.psgi}"; + + buildInputs = [ pxz perl nix ] + ++ (with perlPackages; [ DBI DBDSQLite Plack Starman ]); + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out/libexec/nix-serve + cat "$src" > "$out/libexec/nix-serve.psgi" + + mkdir -p $out/bin + cat > $out/bin/nix-serve <<EOF + #! ${stdenv.shell} + export PATH=${makeBinPath [ coreutils pxz nix ]}:\$PATH + export PERL5LIB=$PERL5LIB + exec ${perlPackages.Starman}/bin/starman "$out/libexec/nix-serve.psgi" "\$@" + EOF + chmod +x $out/bin/nix-serve + ''; +} |