default.nix (1034B)
1 { 2 runCommand 3 , runtimeShell 4 , fetchurl 5 , lib 6 , luaPackages 7 , lua 8 , writeScriptBin 9 , linotify 10 , anoia 11 , fennel 12 }: 13 let packages = [ 14 linotify 15 anoia 16 fennel 17 ]; 18 join = ps: builtins.concatStringsSep ";" ps; 19 luapath = join (builtins.map (f: 20 "${f}/share/lua/${lua.luaversion}/?.lua;" + 21 "${f}/share/lua/${lua.luaversion}/?/init.lua" 22 ) packages); 23 luacpath = join (builtins.map (f: "${f}/lib/lua/${lua.luaversion}/?.so") packages); 24 25 in writeScriptBin "fennelrepl" '' 26 #!${lua}/bin/lua 27 package.path = ${lib.strings.escapeShellArg luapath} .. ";" .. package.path 28 package.cpath = ${lib.strings.escapeShellArg luacpath} .. ";" .. (package.cpath or "") 29 local fennel = require "fennel" 30 fennel.install() 31 local more_fennel = os.getenv("FENNEL_PATH") 32 if more_fennel then 33 fennel.path = more_fennel .. ";" .. fennel.path 34 end 35 if #arg > 0 then 36 script = table.remove(arg, 1) 37 fennel.dofile(script, {}, arg) 38 else 39 fennel.repl() 40 end 41 ''