lua_creating_configurations.md
title: Lua Configuration Syntax⌗
Lua Configuration Syntax⌗
Configuration Example⌗
Lapis’ configuration module gives you support for merging tables recursively.
For example we might define a base configuration, then override some values in the more specific configuration declarations:
-- config.moon
local config = require("lapis.config")
config({"development", "production"}, {
host = "example.com",
email_enabled = false,
postgres = {
host = "localhost",
port = "5432",
database = "my_app"
}
})
config("production", {
email_enabled = false,
postgres = {
database = "my_app_prod"
}
})
This results in the following two configurations (default values omitted):
-- "development"
{
host = "example.com",
email_enabled = false,
postgres = {
host = "localhost",
port = "5432",
database = "my_app",
},
_name = "development"
}
-- "production"
{
host = "example.com",
email_enabled = true,
postgres = {
host = "localhost",
port = "5432",
database = "my_app_prod"
},
_name = "production"
}
You can call the config
function as many time you like on the same
configuration names, each time the passed in table is merged into the
configuration.
Read other posts