{ pkgs, config, lib, ... }: with lib; with builtins; let cfg = config.vim.markdown; in { options.vim.markdown = { enable = mkEnableOption "markdown tools and plugins"; glow.enable = mkOption { type = types.bool; default = true; description = "Enable markdown preview in neovim with glow"; }; }; config = mkIf (cfg.enable) { vim.startPlugins = [ ( if cfg.glow.enable then "glow-nvim" else null ) ]; vim.globals = mkIf (cfg.glow.enable) { "glow_binary_path" = "${pkgs.glow}/bin"; }; vim.configRC.glow = mkIf (cfg.glow.enable) (nvim.dag.entryAnywhere '' autocmd FileType markdown noremap p :Glow ''); }; }