dotfiles/confgen.lua

65 lines
2.2 KiB
Lua

cg.addPath(".config")
cg.addFile(".gtkrc-2.0.cgt")
cg.opt = require "cg_opts"
cg.onDone(function(errors)
if errors then
print "ERRORS DURING CONFGEN"
else
print "updating gsettings"
cg.opt.system("gsettings set org.gnome.desktop.interface icon-theme " .. cg.opt.icon_theme)
cg.opt.system("gsettings set org.gnome.desktop.interface gtk-theme " .. cg.opt.gtk_theme)
cg.opt.system("gsettings set org.gnome.desktop.interface cursor-theme " .. cg.opt.cursor.theme)
cg.opt.system("gsettings set org.gnome.desktop.interface cursor-size " .. cg.opt.cursor.size)
cg.opt.system('gsettings set org.gnome.desktop.interface font-name "' .. cg.opt.font_term .. " " ..cg.opt.font_size)
if cg.opt.compositor == "river" then
cg.opt.system('gsettings set org.gnome.desktop.interface text-scaling-factor 1.5')
cg.opt.system 'gsettings set org.gnome.desktop.wm.preferences button-layout ""'
else
cg.opt.system "gsettings reset org.gnome.desktop.wm.preferences button-layout"
end
cg.opt.system('export GTK_THEME="'.. cg.opt.gtk_theme ..'"')
end
-- builds the zig scripts
local cmd = "ls -l " .. cg.opt.scripts_folder .. " | grep '^d' | awk '{print $9}'"
local handle = io.popen(cmd)
for folder in handle:lines() do
local abs_path = cg.opt.scripts_folder .. folder
cg.opt.buildZigScript(abs_path)
end
handle:close()
end)
cg.opt.system = function(cmd)
local handle = io.popen(cmd)
if handle == nil then
error("Failed to spawn process" .. cmd)
end
local data, _ = handle:read("*a"):gsub("%s$", "")
return data
end
cg.opt.buildZigScript = function(path)
local build_path = path .. "/build.zig"
local cmd = "zig build --build-file " .. build_path .. " -Doptimize=ReleaseFast -p ~/.local/"
local handle = io.popen(cmd)
if handle == nil then
error("Failed to spawn process" .. cmd)
end
local result = handle:read("*a")
local success, _, _ = handle:close()
if success then
print("built successfully")
else
print("build failed: " .. result)
end
end
cg.opt.setCurrentWaylandCompositor = function(comp)
cg.opt.wayland_compositor = comp
end