Как разделить конфигурацию `rc.lua` Awesome на несколько файлов?

Я только что переехал в Awesome WM из OpenBox. Мне нравится, что он очень расширяемый, настраиваемый, и у меня огромный контроль над макетом окна. Мне нравятся структурированные и организованные вещи, и я бы хотел отделить эту огромную конфигурацию .config/awesome/rc.lua множества файлов. Но я все еще новичок в Awesome, и я никогда не использовал lua раньше.

Вы можете просто поместить код в отдельный файл и включить его с помощью

 dofile("somefile.lua") 

Примечание. Рабочий каталог – $HOME . Чтобы указать файл относительно rc.lua вы можете использовать

 dofile(awful.util.getdir("config") .. "/" .. "somefile.lua") 

Если это больше, чем просто код, и он может быть использован и другими, может возникнуть смысл создать модуль lua, который может быть включен с

 somemodule = require("somemodule") 

Чтобы переместить код в другой файл, вы создаете модуль и нуждаетесь в модуле в rc.lua.

Чтобы создать модуль, вы просто вызываете module (name [, ···]) в скрипте, у которого есть код, который вы вытащили из исходного сценария. Lua – модуль .

Чтобы использовать созданный модуль, вы просто вызываете require (modname) . Ссылка Lua – требуется .

Существует отличный учебник по вики Lua, который объясняет это примерами. И если вы хотите увидеть, как работает module() , есть статья о Play With Lua, которая начинается с написания реализации модуля ().