diff --git a/plugins/default.nix b/plugins/default.nix index 55fa2d2b..d8d8a6b9 100644 --- a/plugins/default.nix +++ b/plugins/default.nix @@ -76,6 +76,7 @@ ./languages/markdown/preview.nix ./languages/nix.nix ./languages/nvim-jdtls.nix + ./languages/nvim-orgmode.nix ./languages/openscad.nix ./languages/otter.nix ./languages/parinfer-rust.nix diff --git a/plugins/languages/nvim-orgmode.nix b/plugins/languages/nvim-orgmode.nix new file mode 100644 index 00000000..53166456 --- /dev/null +++ b/plugins/languages/nvim-orgmode.nix @@ -0,0 +1,30 @@ +{ + lib, + config, + pkgs, + ... +}: +let + inherit (lib.nixvim) defaultNullOpts; +in +lib.nixvim.neovim-plugin.mkNeovimPlugin config { + name = "orgmode"; + originalName = "nvim-orgmode"; + defaultPackage = pkgs.vimPlugins.orgmode; + + maintainers = [ lib.nixvim.maintainers.refaelsh ]; + + settingsOptions = { + org_agenda_files = defaultNullOpts.mkNullable (with lib.types; either str (listOf str)) "" '' + A path for Org agenda files. + ''; + org_default_notes_file = defaultNullOpts.mkStr "" '' + A path to the default notes file. + ''; + }; + + settingsExample = { + org_agenda_files = "~/orgfiles/**/*"; + org_default_notes_file = "~/orgfiles/refile.org"; + }; +} diff --git a/tests/test-sources/plugins/languages/orgmode.nix b/tests/test-sources/plugins/languages/orgmode.nix new file mode 100644 index 00000000..e9d417ca --- /dev/null +++ b/tests/test-sources/plugins/languages/orgmode.nix @@ -0,0 +1,26 @@ +{ + empty = { + plugins.orgmode.enable = true; + }; + + default = { + plugins.orgmode = { + enable = true; + settings = { + org_agenda_files = ""; + org_default_notes_file = ""; + }; + }; + }; + + example = { + plugins.orgmode = { + enable = true; + + settings = { + org_agenda_files = "~/orgfiles/**/*"; + org_default_notes_file = "~/orgfiles/refile.org"; + }; + }; + }; +}