{ config, ... }: let accent = "#${config.lib.stylix.colors.base0D}"; accent-alt = "#${config.lib.stylix.colors.base08}"; muted = "#${config.lib.stylix.colors.base03}"; background = "#${config.lib.stylix.colors.base00}"; in { programs.nixvim = { plugins.mkdnflow = { enable = false; settings = { modules = { conceal = false; }; to_do.symbols = [ " " "-" "x" "!" "/" ]; # mappings = { # MkdnCreateLink = false; # MkdnCreateLinkFromClipboard = { # key = "ml"; # modes = [ "n" "v" ]; # }; # MkdnDecreaseHeading = { # key = "m-"; # modes = "n"; # }; # MkdnDestroyLink = false; # MkdnEnter = { # key = ""; # modes = [ "v" ]; # }; # MkdnExtendList = false; # MkdnFoldSection = { # key = "mf"; # modes = "n"; # }; # MkdnUnfoldSection = { # key = "mF"; # modes = "n"; # }; # MkdnFollowLink = { # key = "gd"; # modes = "n"; # }; # MkdnGoBack = false; # MkdnGoForward = false; # MkdnIncreaseHeading = { # key = "m+"; # modes = "n"; # }; # MkdnMoveSource = false; # MkdnNewListItem = false; # MkdnNewListItemAboveInsert = { # key = "O"; # modes = "n"; # }; # MkdnNewListItemBelowInsert = { # key = "o"; # modes = "n"; # }; # MkdnNextHeading = { # key = "m#"; # modes = "n"; # }; # MkdnNextLink = false; # MkdnPrevLink = false; # MkdnPrevHeading = { # key = "m*"; # modes = "n"; # }; # MkdnSTab = false; # MkdnTab = false; # MkdnTableNewColAfter = { # key = "mc"; # modes = "n"; # }; # MkdnTableNewColBefore = { # key = "mC"; # modes = "n"; # }; # MkdnTableNewRowAbove = { # key = "mR"; # modes = "n"; # }; # MkdnTableNewRowBelow = { # key = "mr"; # modes = "n"; # }; # MkdnTableNextCell = { # key = ""; # modes = "n"; # }; # MkdnTableNextRow = false; # MkdnTablePrevCell = { # key = ""; # modes = "n"; # }; # MkdnTablePrevRow = false; # MkdnToggleToDo = { # key = ""; # modes = [ "n" "v" ]; # }; # MkdnUpdateNumbering = { # key = "mn"; # modes = "n"; # }; # MkdnYankAnchorLink = { # key = "ya"; # modes = "n"; # }; # MkdnYankFileAnchorLink = { # key = "yfa"; # modes = "n"; # }; # }; tables = { formatOnMove = true; trimWhitespace = true; }; }; }; extraFiles = { "after/ftplugin/markdown.lua".text = '' vim.bo.tabstop = 2 vim.bo.shiftwidth = 2 vim.bo.expandtab = true ''; }; highlight = { RenderMarkdownBg.bg = background; RenderMarkdownH1.fg = accent; RenderMarkdownH2.fg = accent; RenderMarkdownH3.fg = accent-alt; RenderMarkdownH4.fg = accent-alt; RenderMarkdownH5.fg = accent-alt; RenderMarkdownH6.fg = accent-alt; RenderMarkdownTodo.fg = "#f78c6c"; RenderMarkdownWarning.fg = "#ff5370"; RenderMarkdownDone.fg = muted; }; plugins.headlines = { enable = true; settings = { markdown = { headline_highlights = [ "RenderMarkdownH1" "RenderMarkdownH2" "RenderMarkdownH3" "RenderMarkdownH4" "RenderMarkdownH5" "RenderMarkdownH6" ]; fat_headlines = false; }; }; }; plugins.render-markdown = { enable = true; settings = { heading = { icons = [ "# " "󰲣 " "󰲥 " "󰲧 " "󰲩 " "󰲫 " ]; sign = false; backgrounds = [ "RenderMarkdownBg" ]; foregrounds = [ "RenderMarkdownH1" "RenderMarkdownH2" "RenderMarkdownH3" "RenderMarkdownH4" "RenderMarkdownH5" "RenderMarkdownH6" ]; }; checkbox = { unchecked = { highlight = "RenderMarkdownTodo"; }; checked = { highlight = "RenderMarkdownDone"; }; custom = { pending = { raw = "[-]"; rendered = "󰥔 "; highlight = "RenderMarkdownTodo"; }; important = { raw = "[!]"; rendered = "󰰱 "; highlight = "RenderMarkdownWarning"; }; cancel = { raw = "[/]"; rendered = "󱋬 "; highlight = "RenderMarkdownWarning"; }; }; }; }; }; }; }