2024-10-09 07:30:29 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: let
|
2024-10-09 10:40:11 +02:00
|
|
|
inherit (lib.options) mkEnableOption mkOption;
|
|
|
|
inherit (lib.types) submodule listOf str;
|
2024-10-09 07:30:29 +02:00
|
|
|
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption;
|
|
|
|
in {
|
|
|
|
options.vim.notes.neorg = {
|
2024-10-15 02:15:18 +02:00
|
|
|
enable = mkEnableOption ''
|
|
|
|
Neorg: An intuitive note-taking and organization tool with a structured nested syntax.
|
|
|
|
'';
|
2024-10-09 07:30:29 +02:00
|
|
|
|
2024-10-09 10:40:11 +02:00
|
|
|
setupOpts = mkPluginSetupOption "Neorg" {
|
|
|
|
load = {
|
|
|
|
"core.defaults" = mkOption {
|
|
|
|
default = {};
|
2024-10-15 12:38:37 +02:00
|
|
|
description = ''
|
|
|
|
all of the most important modules that any user would want to have a "just works" experience
|
|
|
|
'';
|
2024-10-09 10:40:11 +02:00
|
|
|
|
|
|
|
type = submodule {
|
|
|
|
options = {
|
2024-10-15 12:38:37 +02:00
|
|
|
enable = mkEnableOption ''
|
|
|
|
all of the most important modules that any user would want to have a "just works" experience
|
|
|
|
'';
|
2024-10-09 10:40:11 +02:00
|
|
|
config = {
|
|
|
|
disable = mkOption {
|
2024-10-15 12:38:37 +02:00
|
|
|
description = ''
|
|
|
|
list of modules from to be disabled from core.defaults
|
|
|
|
'';
|
2024-10-09 10:40:11 +02:00
|
|
|
type = listOf str;
|
|
|
|
default = [];
|
2024-10-15 12:38:37 +02:00
|
|
|
example = ["core.autocommands" "core.itero"];
|
2024-10-09 10:40:11 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-10-09 07:30:29 +02:00
|
|
|
|
|
|
|
treesitter = {
|
|
|
|
enable = mkEnableOption "Neorg treesitter" // {default = config.vim.languages.enableTreesitter;};
|
|
|
|
norgPackage = mkGrammarOption pkgs "norg";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|