{ pkgs, config, ... }: let color = config.style.color; border = { fg = "#${color.border}"; }; borderLight = { fg = "#${color.accent}"; }; hover = { bg = "#${color.bg.regular}"; fg = "#${color.fg.light}"; }; select = { bg = "#${color.selection}"; fg = "#${color.fg.dark}"; }; text = { fg = "#${color.fg.light}"; }; in { # REF: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/theme.toml file = (pkgs.formats.toml { }).generate "YaziThemeConfig" { manager = let mkMarker = markerColor: { bg = "#${markerColor}"; fg = "#${markerColor}"; }; mkCounter = counterColor: { bg = "#${counterColor}"; fg = "#${color.fg.light}"; }; in { border_style = border; border_symbol = " "; count_copied = mkCounter color.positive; count_cut = mkCounter color.negative; count_selected = mkCounter color.neutral; cwd = text; hovered = hover; marker_copied = mkMarker color.accent; marker_cut = mkMarker color.accent; marker_marked = mkMarker color.hl; marker_selected = mkMarker color.selection; preview_hovered = hover; tab_active = mkCounter color.selection; }; select = { border = borderLight; }; input = { border = borderLight; }; completion = { border = borderLight; active = hover; inactive = text; }; tasks = { border = borderLight; }; which = { cand = text; cols = 3; desc = text; mask = hover; rest = text; separator = " - "; separator_style = text; }; confirm = { border = borderLight; title = borderLight; }; status = { mode_normal = hover; mode_select = select; permissions_r = text; permissions_s = text; permissions_t = text; permissions_w = text; permissions_x = text; progress_label = hover; progress_normal = hover; separator_close = ""; separator_open = ""; # NOTE: Inversed because yazi dev is fckin weird. Also add manpages ffs. separator_style = { bg = "#${config.style.color.fg.light}"; fg = "#${config.style.color.bg.regular}"; }; mode_unset = { fg = "#${config.style.color.fg.light}"; bg = "#${config.style.color.neutral}"; }; progress_error = { fg = "#${config.style.color.fg.light}"; bg = "#${config.style.color.negative}"; }; }; }; }