OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
 
main @ 49 LINES
 
[ HISTORY ]  [ UP ]
 

{
  config,
  lib,
  pkgs,
  ...
}: let
  inherit (lib) mkIf;
  inherit (lib.nvim.lua) toLuaObject;

  cfg = config.vim.theme.custom;

  themePlugin = pkgs.vimUtils.buildVimPlugin {
    inherit (cfg) name;
    src = pkgs.writeTextDir "colors/${cfg.name}.lua" ''
      local M = {}
      M.highlights = ${toLuaObject cfg.highlights}

      local function set_groups()
        for group, settings in pairs(M.highlights) do
          vim.api.nvim_set_hl(0, group, settings)
        end
      end

      function M.colorscheme()
        vim.api.nvim_command("hi clear")
        if vim.fn.exists("syntax_on") then
          vim.api.nvim_command("syntax reset")
        end

        vim.o.termguicolors = true
        vim.g.colors_name = "${cfg.name}"

        set_groups()
      end

      return M.colorscheme()
    '';
  };
in {
  config = mkIf cfg.enable {
    vim = {
      startPlugins = [themePlugin];
      luaConfigRC.customTheme = ''
        vim.cmd.colorscheme("${cfg.name}")
      '';
    };
  };
}

{
  config,
  lib,
  pkgs,
  ...
}: let
  inherit (lib) mkIf;
  inherit (lib.nvim.lua) toLuaObject;

  cfg = config.vim.theme.custom;

  themePlugin = pkgs.vimUtils.buildVimPlugin
 {
    inherit (cfg) name;
    src = pkgs.writeTextDir "colors/${cfg.na
me}.lua" ''
      local M = {}
      M.highlights = ${toLuaObject cfg.highl
ights}

      local function set_groups()
        for group, settings in pairs(M.highl
ights) do
          vim.api.nvim_set_hl(0, group, sett
ings)
        end
      end

      function M.colorscheme()
        vim.api.nvim_command("hi clear")
        if vim.fn.exists("syntax_on") then
          vim.api.nvim_command("syntax reset
")
        end

        vim.o.termguicolors = true
        vim.g.colors_name = "${cfg.name}"

        set_groups()
      end

      return M.colorscheme()
    '';
  };
in {
  config = mkIf cfg.enable {
    vim = {
      startPlugins = [themePlugin];
      luaConfigRC.customTheme = ''
        vim.cmd.colorscheme("${cfg.name}")
      '';
    };
  };
}
 
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET