diff --git a/flake.lock b/flake.lock index b27df84..fd63849 100644 --- a/flake.lock +++ b/flake.lock @@ -112,6 +112,23 @@ "type": "github" } }, + "diagram.nvim": { + "flake": false, + "locked": { + "lastModified": 1724882438, + "narHash": "sha256-FH9i/I2DiCBpU1b8aTHCNDviBIS7IBng2D30OQH29RU=", + "owner": "3rd", + "repo": "diagram.nvim", + "rev": "1022def2b5b2c70895e381f13a75abee6327a23c", + "type": "github" + }, + "original": { + "owner": "3rd", + "ref": "feature/toggle", + "repo": "diagram.nvim", + "type": "github" + } + }, "fioul": { "inputs": { "flake-utils": "flake-utils_2", @@ -1464,6 +1481,7 @@ "inputs": { "attic": "attic", "comma": "comma", + "diagram.nvim": "diagram.nvim", "fioul": "fioul", "flake-parts": "flake-parts_2", "flake-root": "flake-root", diff --git a/flake.nix b/flake.nix index 0fc4e0b..7ba093a 100644 --- a/flake.nix +++ b/flake.nix @@ -94,6 +94,10 @@ url = "github:lervag/wiki.vim"; flake = false; }; + "diagram.nvim" = { + url = "github:3rd/diagram.nvim/feature/toggle"; + flake = false; + }; }; outputs = diff --git a/neovim/notes.nix b/neovim/notes.nix index 7d35a3f..d0b9bff 100644 --- a/neovim/notes.nix +++ b/neovim/notes.nix @@ -16,7 +16,12 @@ autoCmd = [ { event = [ "InsertEnter" ]; - command = "Markview disable"; + callback = helpers.mkRaw '' + function() + vim.cmd("Markview disable") + vim.cmd("DiagramBuf disable") + end + ''; } ]; }; @@ -30,8 +35,38 @@ enable = true; }; + plugins.image = { + enable = true; + backend = "ueberzug"; + + integrations.markdown = { + clearInInsertMode = true; + enabled = true; + }; + }; + + extraConfigLua = + let + cfg.renderer_options = { + mermaid = { + background = "transparent"; + theme = "dark"; + }; + }; + in + '' + require('diagram').setup(${helpers.toLuaObject cfg}) + ''; + + extraPackages = with pkgs; [ + mermaid-cli + d2 + plantuml + ]; + extraPlugins = with pkgs.vimPlugins; [ wiki-vim markdown-preview-nvim + diagram-nvim ]; } diff --git a/neovim/pkg.nix b/neovim/pkg.nix index 09bf0a8..25ca210 100644 --- a/neovim/pkg.nix +++ b/neovim/pkg.nix @@ -32,6 +32,11 @@ src = inputs."wiki.vim"; version = inputs."wiki.vim".shortRev; }; + diagram-nvim = prev.vimUtils.buildVimPlugin { + pname = "diagram.nvim"; + src = inputs."diagram.nvim"; + version = inputs."diagram.nvim".shortRev; + }; } ); }