-
Notifications
You must be signed in to change notification settings - Fork 1
/
tconfig.lua
34 lines (27 loc) · 825 Bytes
/
tconfig.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
-- mepholic's stuff
local toml = require("toml")
-- Read in YAML configuraion to a variable
local config_file = os.getenv("HOME") .. "/.config/awesome/config.toml"
local config_fd = io.open(config_file, "r")
io.input(config_fd)
local config_raw = io.read("*all")
io.close(config_fd)
-- Parse YAML config
local config = toml.parse(config_raw)
-- Default Profile
local default_profile = config.default_profile
-- Bind profile tables to default profile
bind_table = { }
bind_table.__index = function(t,k)
return default_profile[k]
end
for p in pairs(config.profiles) do
-- Bind the profiles
setmetatable(config.profiles[p], bind_table)
end
-- Put together public interface
local tconfig = {}
tconfig.default_profile = default_profile
tconfig.profile = config.profiles
tconfig.theme = config.theme
return tconfig