{ config, ... }: let accent = "#${config.lib.stylix.colors.base0D}"; muted = "#${config.lib.stylix.colors.base03}"; in { programs.nixvim = { # Markdown settings extraFiles."after/ftplugin/markdown.lua".text = '' vim.bo.tabstop = 2 vim.bo.shiftwidth = 2 vim.bo.expandtab = true ''; # Highlight colors highlight = { Headline1 = { bg = "#4B4266"; fg = accent; }; Headline2 = { bg = "#3B575E"; fg = "#9FFEFE"; }; Headline3 = { bg = "#3B5742"; fg = "#9FFE9F"; }; Headline4 = { bg = "#574842"; fg = "#FECB9F"; }; RenderMarkdownTodo.fg = "#f78c6c"; RenderMarkdownWarning.fg = "#ff5370"; RenderMarkdownDone.fg = muted; }; # Plugins plugins = { # This one takes care of the markdown titles headlines = { enable = true; settings = { markdown = { headline_highlights = [ "Headline1" "Headline2" "Headline3" "Headline4" ]; }; }; }; # MkdnFlow is a plugin that helps you navigate markdown files mkdnflow = { enable = true; modules = { conceal = false; }; toDo.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"; }; }; }; # Render UI elements render-markdown = { enable = true; settings = { heading = { enabled = false; }; checkbox = { unchecked = { highlight = "RenderMarkdownTodo"; }; checked = { highlight = "RenderMarkdownDone"; }; custom = { pending = { raw = "[-]"; rendered = " "; highlight = "RenderMarkdownTodo"; }; important = { raw = "[!]"; rendered = "󰰱 "; highlight = "RenderMarkdownWarning"; }; cancel = { raw = "[/]"; rendered = "󱋬 "; highlight = "RenderMarkdownWarning"; }; }; }; }; }; }; }; }