forked from DGNum/liminix
22 lines
630 B
Nix
22 lines
630 B
Nix
|
{
|
||
|
runCommand
|
||
|
, luaSmall
|
||
|
, runtimeShell
|
||
|
, lib
|
||
|
}:
|
||
|
let lua = luaSmall;
|
||
|
in name : packages : source :
|
||
|
let
|
||
|
luapath = builtins.map (f: "${f}/share/lua/${lua.luaversion}/?.lua;") packages;
|
||
|
luacpath = builtins.map (f: "${f}/lib/lua/${lua.luaversion}/?.so;") packages;
|
||
|
in runCommand name {} ''
|
||
|
#!${runtimeShell}
|
||
|
(
|
||
|
echo "#!${lua}/bin/lua"
|
||
|
echo "package.path = ${lib.strings.escapeShellArg luapath} .. package.path"
|
||
|
echo "package.cpath = ${lib.strings.escapeShellArg luacpath} .. package.cpath"
|
||
|
${lua.pkgs.fennel}/bin/fennel --compile ${source}
|
||
|
) > $out
|
||
|
chmod a+x $out
|
||
|
''
|