EMILUA(1)
π¦ EMILUA(1) β like, the emilua manual page, bestie β¨
okay so welcome to the emilua man page, it's from the General Commands Manual section and it is literally the whole vibe. sit down, grab a strawberry π, we're doing this.
π NAME π
Emilua β the Lua execution engine, she's an icon, she's the moment π
β¨ SYNOPSIS β¨
emilua [OPTION]... SCRIPT_FILE
emilua -h|--help
emilua --version
like that's it, that's the shape of it π
πΈ DESCRIPTION πΈ
So Emilua glues a LuaJIT interpreter to the Boost.Asio execution engine by exposing fiber and async IO APIs. no cap, that's the whole thing. she also lets multiple Lua VMs share the same execution context and talk to each other through actor-inspired APIs β the way that works is genuinely so cool π. Threading capabilities are also exposed. In short: Emilua is a complete execution engine for Lua. periodt. π
and ok this bit is important β if SCRIPT_FILE is a directory, the file init.lua inside this directory is executed. so like, if you point her at a folder she just goes and finds init.lua herself, main character energy honestly π«Ά
π OPTIONS π
--main-context-concurrency-hintHINT β UseHINT=1to informspawn_context_threads()wonβt be called from the main execution context and enable a few optimisations. (Recompile Emilua with the proper configure flags to enable even more aggressive optimizations β yes bestie, recompile, iykyk.) Checkhttps://www.boost.org/doc/libs/1_72_0/doc/html/boost_asio/overview/core/concurrency_hint.htmlfor more info.
Use HINT=unsafe-io to enable even further optimizations. As long as youβre only running Lua code, your program is still safe (despite the parameter name π the name is doing the most). Check https://www.boost.org/doc/libs/1_88_0/doc/html/boost_asio/overview/core/configuration.html for more info.
Use HINT=unsafe to enable even further optimizations. As long as youβre only running Lua code, your program is still safe (despite the parameter name). However itβll disable threading completely. π« like, completely completely. Check https://www.boost.org/doc/libs/1_88_0/doc/html/boost_asio/overview/core/configuration.html for more info.
The default is HINT=0.
--main-context-scheduler-task-usecMICROSECONDS β The maximum time, in microseconds, that the scheduler will wait for its reactor task to complete. A value of-1means that no limit is placed on this wait time. May be set to0to enable CPU-bound spinning. π₯--main-context-scheduler-wait-usecMICROSECONDS β The maximum time, in microseconds, that the scheduler will wait on its wake-up event in an idle thread (i.e. a thread that is not otherwise executing a handler or waiting on the reactor). A value of-1means that no limit is placed on this wait time. May be set to0to enable CPU-bound spinning in an execution context that is being run on multiple threads. β--main-context-reactor-preallocated-io-objectsALLOCATIONS β The number of internal reactor I/O object states to allocate at construction. ngl this one's a little nerdy but she's important:
The reactor implementation uses per I/O object state to track things like the queue of outstanding operations. These state objects are recycled once the I/O object is destroyed, but new ones are allocated if there are no unused state objects currently available.
If an upper bound on the number of I/O objects is known at construction time, this configuration option can be set to ensure that no allocations occur after construction is complete. zero allocations post-construction, obsessed π
--testβ Run the application with_CONTEXT="test". π§
This _CONTEXT propagates to imported modules and is meant to trigger the execution of unit tests written in every module from the application. This _CONTEXT wonβt propagate to imported external modules. (so like, your app's own modules, yes; the outside world, no π)
-h,--helpβ Show help and exit. polite queen π--versionβ Show version and exit. π
π ENVIRONMENT π
EMILUA_COLORS=1β Disable colour support auto-detection and force colour output on log messages. yes force. she's wearing the colours. πΈEMILUA_COLORS=0β Disable colour support on log messages altogether. monochrome moment πEMILUA_PATHβ A colon-separated list of directories to augment the default search path for modules. The modules from this search set have higher priority than the ones in the default search path. On Windows, the list is semicolon-separated. (semicolons bestie, windows does its own thing π)EMILUA_LOG_LEVELSβ A comma-separated list of log specs. Each spec is a colon-separated pair where second element is a number indicating maximum log level (inclusive) and the first element indicates the affected log category. You can optionally pass a spec containing just the log level that will affect the default category as the first spec. π¦
Example:
EMILUA_LOG_LEVELS="2,glib:7,dbus:3" emilua src/init.lua
π AUTHOR π
VinΓcius dos Santos Oliveira β the legend herself, we stan π«Ά
and that's the page bestie β¨ she's Emilua 0.12.1-nixpkgs1, dated 1980-01-01 (iconic date, no notes), and yes the manual name is EMILUA(1) in case you forgot already π bye ily π
π¦ where this page comes from
- nixos 26.05: emilua 0.12.1
- nixpkgs unstable: emilua 0.12.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms