diff --git a/plugins/telescope/default.nix b/plugins/telescope/default.nix index 14f811c3..19cda202 100644 --- a/plugins/telescope/default.nix +++ b/plugins/telescope/default.nix @@ -5,6 +5,10 @@ let helpers = (import ../helpers.nix { inherit lib; }); in { + imports = [ + ./frecency.nix + ]; + # TODO:add support for aditional filetypes. This requires autocommands! options.programs.nixvim.plugins.telescope = { diff --git a/plugins/telescope/frecency.nix b/plugins/telescope/frecency.nix new file mode 100644 index 00000000..bfa964a3 --- /dev/null +++ b/plugins/telescope/frecency.nix @@ -0,0 +1,20 @@ +{ pkgs, config, lib, ... }: +with lib; +let + cfg = config.programs.nixvim.plugins.telescope.extensions.frecency; +in +{ + options.programs.nixvim.plugins.telescope.extensions.frecency = { + enable = mkEnableOption "Enable frecency"; + }; + + config = mkIf cfg.enable { + programs.nixvim.extraPackages = [ pkgs.sqlite ]; + programs.nixvim.extraPlugins = with pkgs.vimPlugins; [ + telescope-frecency-nvim + sqlite-lua + ]; + + programs.nixvim.plugins.telescope.enabledExtensions = [ "frecency" ]; + }; +} diff --git a/plugins/utils/telescope.nix b/plugins/utils/telescope.nix deleted file mode 100644 index cec9c045..00000000 --- a/plugins/utils/telescope.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ pkgs, config, lib, ... }: -with lib; -let - cfg = config.programs.nixvim.plugins.telescope; -in -{ - # TODO Add support for aditional filetypes. This requires autocommands! - - options.programs.nixvim.plugins.telescope = { - enable = mkEnableOption "Enable telescope.nvim"; - - highlightTheme = mkOption { - default = config.programs.nixvim.colorscheme; - type = types.nullOr types.str; - description = "The colorscheme to use for syntax highlighting"; - }; - - extensions = { - frecency = { - enable = mkEnableOption "Enable telescope-frecency"; - }; - }; - }; - - config = let - extensionPlugins = with cfg.extensions; with pkgs.vimPlugins; - (optional frecency.enable telescope-frecency-nvim) ++ - (optional frecency.enable sqlite-lua); - - extensionPackages = with cfg.extensions; with pkgs; - (optional frecency.enable sqlite); - - extensions = with cfg.extensions; - (optional frecency.enable "frecency"); - - loadExtensions = "require('telescope')" + (concatMapStrings (e: ".load_extension('${e}')") extensions); - in mkIf cfg.enable { - programs.nixvim = { - extraPackages = with pkgs; [ - bat - ] ++ extensionPackages; - - extraPlugins = with pkgs.vimPlugins; [ - telescope-nvim - plenary-nvim - popup-nvim - ] ++ extensionPlugins; - - extraConfigVim = mkIf (cfg.highlightTheme != null) '' - let $BAT_THEME = '${cfg.highlightTheme}' - ''; - - extraConfigLua = mkIf (extensions != []) loadExtensions; - }; - }; -}