main @ 49 LINES
[ HISTORY ] [ UP ]
┌─ NIX ──────────────────────────────────────────────────────────────────────┐
│ { │
│ 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}") │
│ ''; │
│ }; │
│ }; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ NIX ────────────────────────────────┐
│ { │
│ 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