Hagia
log in
morj / pokesz
overview
files
history
wiki
Viewing at
{ lib, beamPackages, fetchHex, callPackage, writeTextFile, copyPathToStore, beamMinimalPackages }:

let
# Generated by rebar3nix plugin, run `rebar3 nix`

rebarDeps = callPackage ./rebar.nix {};

# Derivations for deps
ranch = beamPackages.buildRebar3 {
name = "ranch";
version = "2.2.0";
src = rebarDeps.ranch;
};
cowlib = beamPackages.buildRebar3 {
name = "cowlib";
version = "2.16.0";
src = rebarDeps.cowlib;
};
cowboy = beamPackages.buildRebar3 {
name = "cowboy";
version = "2.14.0";
src = rebarDeps.cowboy;
beamDeps = [ cowlib ranch ];
};
pokesz_server_impl = beamPackages.buildRebar3 {
name = "erlang_server";
version = "0.1.0";
src = lib.fileset.toSource {
root = ./.;
fileset = lib.fileset.unions [
./src
./priv
./rebar.config
./rebar.lock
];
};
beamDeps = [ cowboy cowlib ranch ];
};
wordlist = copyPathToStore ./words.txt;

in writeTextFile {
name = "start.sh";
executable = true;
destination = "/bin/start.sh";
text = ''
#!/bin/sh

export WORDLIST='${wordlist}';
export ERL_LIBS='${ranch}/lib/erlang/lib:${cowlib}/lib/erlang/lib:${cowboy}/lib/erlang/lib:${pokesz_server_impl}/lib/erlang/lib';

${beamMinimalPackages.erlang}/bin/erl \
-noshell -noinput \
-eval "application:ensure_all_started(erlang_server), receive after infinity -> ok end"
'';
}