diff --git a/modules/plugins/utility/preview/glow/config.nix b/modules/plugins/utility/preview/glow/config.nix index dfc73605..9f454d16 100644 --- a/modules/plugins/utility/preview/glow/config.nix +++ b/modules/plugins/utility/preview/glow/config.nix @@ -1,5 +1,4 @@ { - pkgs, config, lib, options, @@ -8,6 +7,7 @@ inherit (lib.modules) mkIf; inherit (lib.nvim.binds) mkKeymap pushDownDefault; inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.utility.preview.glow; inherit (options.vim.utility.preview.glow) mappings; @@ -24,9 +24,7 @@ in { }; pluginRC.glow = entryAnywhere '' - require('glow').setup({ - glow_path = "${pkgs.glow}/bin/glow" - }); + require('glow').setup(${toLuaObject cfg.setupOpts}) ''; }; } diff --git a/modules/plugins/utility/preview/glow/glow.nix b/modules/plugins/utility/preview/glow/glow.nix index 62cc1ee5..e67bf513 100644 --- a/modules/plugins/utility/preview/glow/glow.nix +++ b/modules/plugins/utility/preview/glow/glow.nix @@ -1,10 +1,13 @@ { config, + pkgs, lib, ... }: let inherit (lib.modules) mkRenamedOptionModule; - inherit (lib.options) mkEnableOption; + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.types) str; + inherit (lib.nvim.types) mkPluginSetupOption; inherit (config.vim.lib) mkMappingOption; in { imports = [ @@ -15,6 +18,14 @@ in { glow = { enable = mkEnableOption "markdown preview in neovim with glow"; mappings.openPreview = mkMappingOption "Open preview" "p"; + setupOpts = mkPluginSetupOption "glow.nvim" { + glow_path = mkOption { + type = str; + default = "${pkgs.glow}/bin/glow"; + example = "glow"; + description = "Path to the glow binary."; + }; + }; }; }; }