From 3c7b6ae5d1524c691a1b65f7290facd0dc296e40 Mon Sep 17 00:00:00 2001 From: Coutinho de Souza Date: Wed, 16 Oct 2024 20:10:45 -0300 Subject: [PATCH] plugins/telekasten: init --- plugins/by-name/telekasten/default.nix | 37 +++++++++++++++++++ .../plugins/by-name/telekasten/default.nix | 22 +++++++++++ 2 files changed, 59 insertions(+) create mode 100644 plugins/by-name/telekasten/default.nix create mode 100644 tests/test-sources/plugins/by-name/telekasten/default.nix diff --git a/plugins/by-name/telekasten/default.nix b/plugins/by-name/telekasten/default.nix new file mode 100644 index 0000000000..fd0bb8b93a --- /dev/null +++ b/plugins/by-name/telekasten/default.nix @@ -0,0 +1,37 @@ +{ + config, + lib, + pkgs, + ... +}: +lib.nixvim.neovim-plugin.mkNeovimPlugin { + name = "telekasten"; + originalName = "telekasten.nvim"; + package = "telekasten-nvim"; + + maintainers = [ lib.maintainers.onemoresuza ]; + + settingsExample = { + home.__raw = ''vim.fn.expand("~/zettelkasten")''; + }; + + # TODO: Remove once nixpkgs #349346 lands, since it will have plenary-nvim as + # a dependency. + extraOptions = { + plenaryPackage = lib.mkPackageOption pkgs.vimPlugins "plenary-nvim" { nullable = true; }; + }; + + # TODO: Remove once nixpkgs #349346 lands, since it will have telescope-nvim + # as a dependency. + extraConfig = cfg: { + assertions = [ + { + assertion = config.plugins.telescope.enable; + message = '' + Nixvim (plugins.telekasten): The plugin needs telescope to function as intended. + ''; + } + ]; + extraPlugins = [ cfg.plenaryPackage ]; + }; +} diff --git a/tests/test-sources/plugins/by-name/telekasten/default.nix b/tests/test-sources/plugins/by-name/telekasten/default.nix new file mode 100644 index 0000000000..010dc099be --- /dev/null +++ b/tests/test-sources/plugins/by-name/telekasten/default.nix @@ -0,0 +1,22 @@ +{ + empty = { + plugins = { + telescope.enable = true; + telekasten.enable = true; + web-devicons.enable = false; + }; + }; + + example = { + plugins = { + telescope.enable = true; + telekasten = { + enable = true; + settings = { + home.__raw = ''vim.fn.expand("~/zettelkasten")''; + }; + }; + web-devicons.enable = false; + }; + }; +}