repositories / dotfiles
dotfiles
bugabingas dorkfiles
owned by admin
wezterm/bugabinga/theme.lua
Rawlocal wez = require 'wezterm'
local nugu = require 'bugabinga.nugu'
-- wezterm.gui is not available to the mux server, so take care to
-- do something reasonable when this config is evaluated by the mux
local get_nugu_mode = function ()
local file = io.open( wez.home_dir .. '/.cache/nugu/mode', 'r' )
if not file then return nil end
local mode = file:read '*l'
file:close()
if mode == 'dark' or mode == 'light' then return mode end
return nil
end
local get_appearance = function ()
local mode = get_nugu_mode()
if mode == 'dark' then return 'Dark' end
if mode == 'light' then return 'Light' end
if wez.gui then return wez.gui.get_appearance() end
return 'Dark'
end
local scheme_for_appearance = function ( appearance )
if appearance:find( 'Dark', 1, true ) then return 'nugu-dark' end
return 'nugu-light'
end
return function ( cfg )
---@cast cfg Config
local current_scheme = scheme_for_appearance( get_appearance() )
cfg.color_scheme = current_scheme
-- Set color schemes from nugu
cfg.color_schemes = nugu.schemes
-- Apply nugu window frame styling
nugu.apply_window_frame( cfg, current_scheme )
end