nix-community.nixvim/modules/options.nix

45 lines
985 B
Nix
Raw Normal View History

2022-12-29 17:34:47 +00:00
{ config, lib, ... }:
with lib;
2022-12-29 17:34:47 +00:00
let
helpers = import ../plugins/helpers.nix { inherit lib; };
in
{
options = {
options = mkOption {
type = types.attrsOf types.anything;
default = { };
description = "The configuration options, e.g. line numbers";
};
globals = mkOption {
type = types.attrsOf types.anything;
default = { };
description = "Global variables";
};
};
config = {
extraConfigLuaPre = optionalString (config.globals != { }) ''
-- Set up globals {{{
do
local nixvim_globals = ${helpers.toLuaObject config.globals}
for k,v in pairs(nixvim_globals) do
vim.g[k] = v
end
end
-- }}}
'' + optionalString (config.options != { }) ''
-- Set up options {{{
do
local nixvim_options = ${helpers.toLuaObject config.options}
for k,v in pairs(nixvim_options) do
vim.o[k] = v
end
end
-- }}}
'';
};
}